January 21, 2006
The following code:


import std.stdio;
import std.c.windows.com;
int main()
{
   writefln("IID_IDataObject=%s,%s,%s,%s",IID_IDataObject.Data1,IID_IDataObject.Data2,IID_IDataObject.Data3,IID_IDataObject.Data4);
   return 0;
}


compiled it with different DMC / DMD versions:


> dmc
Digital Mars Compiler Version 8.42n
> dmd
Digital Mars D Compiler v0.142
> dmd test uuid.lib
> test
IID_IDataObject=270,0,0,[192,0,0,0,0,0,0,70]


> dmc
Digital Mars Compiler Version 8.42n
> dmd
Digital Mars D Compiler v0.143
> dmd test uuid.lib
IID_IDataObject=270,0,0,[192,0,0,0,0,0,0,70]


> dmc
Digital Mars Compiler Version 8.42n
(but I know it's DMC version 8.46)
> dmd
Digital Mars D Compiler v0.143
> dmd test uuid.lib
IID_IDataObject=234946560,0,0,[192,0,0,0,0,0,0,70]


you will notice IID_IDataObject in DMC 8.46 is incorrect.

This took me a couple hours to track down; I thought it was my drag/drop code at first.