Hallo,
ich beschäftige mich gerade mit Dll's in Dephi. Habe das Tutorial von Martin Strohal durchgearbeitet. Das statische Einbinden klappt auch.
Beim dynamischen Einbinden mit
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| unit unit1;
interface uses windows;
type TFunktion = function(zahl1, zahl2:real):real; function addieren(zahl1, zahl2:real):real;
implementation
function addieren(zahl1, zahl2:real):real; var Funktion: TFunktion; Handle: THandle; begin Handle:=LoadLibrary(PChar('rechnen.dll')); if Handle <> 0 then begin @Funktion:=GetProcAddress(Handle, 'addiere'); if @Funktion <> nil then begin result:=addiere(zahl1, zahl2); end; FreeLibrary(Handle); end; end;
end. |
kommt immer die Fehlermeldung "[Pascal Fehler] add.pas(23): E2003 Undefinierter Bezeichner: 'addiere' ".
Woran kann das liegen.
Die Dll liegt im gleichen Pfad wie die unit. Wenn ich in der Zeile "result:= addiere..." eine andere Anweisung eingebe, wird diese auch abgearbeitet.
vielen Dank im varaus.