class SomeClass {
// some members
MemberClass one_of_the_mem_; }
I have a function foo( SomeClass *object ) inside a dll, it is called from exe.
Problem
the address of one_of_the_mem_ changes during the sending of the dll call.
More details
before the call is made (from exe):
'&(this).one_of_the_mem_' - `0x00e913d0`
after - in the dll itself:
'&(this).one_of_the_mem_' - `0x00e913dc`
The address of the object remains constant. This is only a member whose address changes to c each time.
I want some pointers regarding how I can fix this problem.
Code:
Code from Exe
stat = module-> init (this, object_a, & amp; object_b, object_c, con_dir);
DLL Code
Status_C ModuleClass( SomeClass *object, int index, Config *conf, const char* name) { _ASSERT(0);
Update 1:
I compared member offsets after Michael's instruction, and they are the same in both cases.
Update 2:
I found a way to reset the class layout and noticed the difference in size, I have to understand why this is happening.
related is the question I found to build the class layout.
Update 3: 
The final update . Solved the problem, thanks to Michael Burr.
it turned out that one of the buildings used 32-bit time, _USE_32BIT_TIME_T was defined in it, and the other used 64-bit time. Thus, he generated a different layout for the object, an attached file differences.
