Du solltest deine Records in Delphi auf packed umstellen. Da es sonst Probleme mit den Alignments (Byteausrichtungen) geben kann.
Der Prottyp könnte so aussehen
Code:
__stdcall void SetVariable(int, double *);
bzw.
Code:
__stdcall void SetVariable(int, void *);