hab ich auch schon ausprobiert und ich benutze ja schon absichtlich Pchar als übergabe
trotzdem danke.
So hab noch was rumprobiert und folgendes festgestellt:
wenn ich die dll statisch einbinde stimmen die übergaben die die Dll-proceduren (funktionen) vom hauptprogramm bekommt ruf ich sie aber dynamisch auf stimmen die übergaben nicht.
beispiel:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| library myDll;
{ Important ... }
uses SysUtils, Classes; {$R *.res}
function addiere(zahl1, zahl2: integer): integer; stdcall; begin result:=zahl1+zahl2; end;
exports addiere;
begin end. |
bei statischem aufruf rechnet die funktion addiere 1+2 = 3
bei dynamischem aufruf x+y = 5860313
(x und y deshalb weil es egal ist was man übergibt)
was aus der DLL zurückkommt ist in sofern korrekt,
da die dll mit den werten rechnet die sie bekommt also das was die dll bekommt ist falsch - warum auch immer.