Zitat:
DllExport Satz __stdcall GetSatz2(void);
Wenn du das in der C++-Anwendung IMPORTierst, müsste das dann nicht DllImport heißen?
Insofern wundere ich mich ein wenig, dass das Programm überhaupt gelinkt wird. Oder trübt mich meine Erinnerung da...
Am Alignment (Ausrichtung im Speicher) kann's natürlich liegen. Ich glaube, die einfachst Lösung in Delphi ist, den Record als packed record zu deklarien. Im C++ ist das dann aber glaube ich Compiler-spezifisch. Beim Visual C++ ging's so:
Code:
#pragma pack (push, 1)
// Struct Deklaration
#pragma pack (pop)
Oder du findest raus, wie das Alignment bei dem Delphi-Compiler ist, und stellst es für das C++-Programm als Compiler-Option ein. Beim Visual C++ kannst du das in den Projektoptionen auswählen.