Und noch eine Frage, wie soll ich diese Funktion in meinem Hauptprogramm aufrufen, zuerst versuche ich es in Delphi:
Delphi-Quellcode:
type
TValue = record
StrValue: String[6];
IntValue: Integer;
end;
TValues = array of TValue;
var
VDIINT: TValues;
PVDIINT: ^TValues;
function VDIIWERT(PVDIINT: TValues; Feldnummer: integer): integer; external 'VDIDLL.dll'; stdcall;
my func;
begin
SetLength(VDIINT,Length(VDIINT)+1);
VDIINT[High(VDIINT)].StrValue := 'test';
VDIINT[High(VDIINT)].IntValue := 2;
cRet := IntToStr(VDIIWERT(PVDIINT, StrToInt(res1)));
end;
Wenn ich so mache, bekomme ich Fehlemeldung: "Inkompatible Typen TValues und Array", in der Zeile "cRet:=..". Soll man den Pointer irgenwie anders deklarieren?