Ich las gerade das Du
DLL mit einer CDECL Anweisung öffnest, da sollte dann immer der Memory Manager von Delphi an erster Stelle mitkompiliert werden, sonst kann es bei Daten-Übertragung (.exe <-> .dll) zu fehlern kommen.
Wieso?
Die Aufrufkonvention hat absolut garnichts mit den Speichermanagern zu tun.
Die besagen ob Parameter auf dem Stack landen und/oder in den Registern und in welcher Reihenfolge
und wer den Stack am Ende aufräumt (der Aufrufer oder der Aufgerufene).