Moin mcusa,
wenn Du die Funktion in Delphi importierst, kannst Du das auf zwei Wegen machen:
Delphi-Quellcode:
// 1. Variante: C-Stil
function CheckMDB (
const devaddr: BYTE;
const dp: lpMDBEntry): Integer;
stdcall;
external MDB_DLL;
// 2. Variante: Borland-Stil
function CheckMDB (
const devaddr: BYTE;
var dp: lpMDBEntry ): Integer;
stdcall;
external MDB_DLL;
der Aufruf kann dann so erfolgen:
Delphi-Quellcode:
// 1.
var
pmdb : lpMDBEntry;
begin
pmdb := AllocMem(SizeOf(pmdb));
try
// Felder in pmdb, soweit erforderlich, initialisieren
CheckMDB(15,pmbd);
// mit dem Aufruf weiterverarbeiten
finally
FreeMem(pmdb,SizeOf(pmdb));
end;
end;
// 2.
var
mdb : MDBEntry;
begin
// Felder in pmdb, soweit erforderlich, initialisieren
CheckMDB(15,pmbd);
// mit dem Aufruf weiterverarbeiten
end;
ausserdem solltest Du, sicherheitshalber, aus dem record einen packed record machen.