Den Teil aus dem ersten Beitrag:
Code:
__int64 lCount, __int64* lIndex, __int64* lRetCode
hat Du mit
ATemplatesCount: Cardinal; var ATemplateIndex: Cardinal; var ARetCode: Cardinal
übersetzt. Richtig ist, daß die Pointer __int64* mit Var-Parametern belegt sind. Allerdings werden doch 64 Bit von der
DLL zurückgeschrieben, Deine Cardinals haben 32 Bits, und die oberen überzähligen 32 Bit werden dann irgendetwas anderes auf dem Delphi-Stack überschreiben.