Wenn eine Struktur (Record) übergeben wird, dann muss das ein VAR-Parameter sein.
Delphi-Quellcode:
function xlGetDriverConfig(var XLDriverConfig: TXLDriverConfig): TXLStatus; cdecl;
function xlGetDriverConfig; external XLDriverDLL name 'xlGetDriverConfig'; cdecl;
Ich würde auch noch testen, ob die Aufrufkonvention richtig ist.
Also statt
cdecl mal
stdcall probieren.
cdecl wird üblicherweise nur für Funktionen mit einer variablen Anzahl von Argumenten (z.B. sprintf()) verwendet.