ctypes different for 32 - 64 bits
-
On 12/11/2013 at 02:09, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R14
Platform: Windows ;
Language(s) : C++ ;---------
I use ctypes to call C++ with two strings (char * ).Using 32 bits (+ debug) the string are received ok in C++
Using 64 bits (no debug) the string is rubbish in C++.Python script (part)
class S2H(Structure) : _fields_ = [("a",ctypes.c_char_p), ("b",ctypes.c_char_p)] MyLib.SetBlend.restype = int MyLib.SetBlend.argtypes = [S2H] inp = S2H("Mat.2", "456") res = MyLib.SetBlend(inp)
C++ (part)
DLLEXPORT int SetBlend(char* a, char* b) {
-
On 12/11/2013 at 02:16, xxxxxxxx wrote:
Solved.
Apparently, there is something wrong with my class definition.
Doing it straight solved the issue.MyLib.SetBlend.argtypes = [ctypes.c_char_p, ctypes.c_char_p]