may be a little early to stash away that x64 vm.. I ran into a problem with ( ['out'], POINTER(POINTER(c_ubyte)), 'bytes' ), methods the other day when implementing an event handler. It very much seems like the pointer is not returned correctly.
The return value is set with ubyte_arg = (c_ubyte * length)() ubyte_p = cast(ubyte_arg, POINTER(c_ubyte)) for high-level i just return the ubyte_p, for low level i set ppbArg[0] = ubyte_p The process crashes on what seems to be a memory read error on Vista x64. -And of course it works flawlessly on 32 bit XP. Anyway.. To give some good proof of bug I tried to implement http://starship.python.net/crew/theller/comtypes/server.html as a 64 bit server. The only change I did was HRESULT MyMethod([in] INT a, [out] BYTE ** bytes, [out, retval] INT *presult); (ie. have a parameter that resembles my previous troubles). compiled the idl with "midl /env amd64 /amd64 /x64" (and other variants). It works perfectly, BUT produces a 32 bit com server! when testing with cscript and this js code "testobj = new ActiveXObject("TTTestTypeLib.MyObject")" if fails with c:\windows\system32\cscript (64bit) but works with c:\Windows\SysWOW64\cscript (32bit) What did I miss? -- Torbjørn Tyridal ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ comtypes-users mailing list comtypes-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/comtypes-users