I have a dll that exports a method to read a document (of my type), and return the doucument's pointer to it's caller.
In my arx application, I call the method the have a document to be read. The strange thing is, the objects's pointers of in the documen differ between in the dll method and the in the arx after the method is called. (attatches show the difference.)
Any one can give me a hint? Thanks a lot!
Best Regards
yqxn
(Objectarx 2014, autoCAD2014, vs2012, build platform v100, x64)
Usually when the class layout is not the same in different modules, it's due to preprocessor macros in the header file resulting in different class members. Class layout differences notwithstanding, it's also a good idea to check these values in the code at runtime to make sure the difference you see is not just due to the debugger being confused about the class layout.
Dear Owenwengerd, Thanks a lot for your reply, and for the preprocessor defines, I compare the 2 project seetings and found the only difference is the arx module has "_ACRXAPP", all other defines are the same. Yesterday, I can located the problem object, it was the m_CoSys member, who's own member data is a type of vector<vector<double>> .
Does it mean, objectarx sdk overide the definition of vector? Best regards, yqxn
I bet your DLL is compiled with Multithreaded Debug DLL and your ARX is compiled in Multithreaded DLL
Does it work if you compile in release mode?