Thema: Delphi DLL Dynamisch Laden

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

Re: DLL Dynamisch Laden

  Alt 11. Mai 2010, 23:39
@BUG: In Delphi wird standardmäßig der Name der Prozedur verwendet, wenn nicht explizit ein Export-Name angegeben ist.



Code:
Function addiere (Value1, Value2 : Integer) : Integer; [color=#ff0000][b]stdCall;[/b][/color]
...

Exports
       addiere;
Code:
Function addiere (Value1, Value2 : Integer) : Integer; [color=#ff0000][b]stdCall;[/b][/color]
  external 'rechne.DLL';
Code:
Type TAddition = Function (Value1, Value2 : Integer) : Integer;
Fällt dir was auf?

PS: Wie die "unabhängige" Funktion Addition in der DLLUnit2 deklariert ist, ist egal, aber die Signatur des Prozudurzeigers muß schon zum Export passen.

PSS: in Delphi ist bei einer Zuweisung kein @ notwendig
Delphi-Quellcode:
Addition := GetProcAddress(Handle, 'addiere');
if Assigned(Addition) then
und das Result ist nicht initialisiert, wenn die DLL oder die Funktion nicht geladen/gefunden werden kann,
aber dieses müßte der Compiler eigentlich auch bemängeln. (Compiler-Meldung)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat