Hallo,
hier eine einfache DLL.
library Project2;
function AddLong(a, b: LongInt): LongInt; stdcall;
begin
result := a + b;
end;
function SubLong(a, b: LongInt): LongInt; stdcall;
begin
result := a - b;
end;
exports
SubLong,
AddLong;
begin
end.
Die USES-Anweisung ist unnoetig wenn du keine weiteren Units einbinden willst. Der Index ist unnoetig, wenn du ueber den Namen auf die Funktionen zugreifst (was sinnvoll ist)
Du hast wahrscheinlich die exports-Anweisung vergessen.
Wenn du die DLL in VB verwenden willst, ist die Anweisung „stdcall“ unbedingt erforderlich, sonst bekommst du bei Funktionen, die Parameter uebergeben eine Schutzverletzung.
in Delphi bindest Du die Funktionen dann im Programm so ein:
function AddLong(a,b:LongInt): LongInt; stdcall; external ‚Project2.dll‘ ;
function SubLong(a,b:LongInt): LongInt; stdcall; external ‚Project2.dll‘ ;
in VB so:
function AddLong lib „Project2.dll“ (a,b As Long) As Long
function SubLong lib „Project2.dll“ (a,b As Long) As Long
Gruss, Niels