Einzelnen Beitrag anzeigen

Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: DLL schreiben - Was mach ich falsch?

  Alt 17. Mär 2004, 20:52
hallo delphi_coder,

es fehlt die aufrufkonvention siehe:
Zitat:
Nun muss diese Funktion nur noch in das DLL-Grundgerüst eingefügt werden. Zuvor ist aber noch anzumerken, dass es bei DLLs eine Besonderheit gibt: Wenn es möglich sein soll, dass Funktionen oder Prozeduren einer DLL auch von anderen Programmiersprachen genutzt werden können, muss das reservierte Wort stdcall hinter den Funktions- bzw. Prozedurkopf geschrieben werden. In unserm Fall also:
function addiere(zahl1, zahl2: integer): integer; stdcall;

Bei stdcall handelt es sich um eine sog. "Aufrufkonvention". Weitere sind register, cdecl und safecall. Sie unterscheiden sich darin, wie Parameter übergeben werden und ob dabei CPU-Register verwendet werden. Für Aufrufe der Windows-API wird stdcall verwendet; register ist das effizienteste. Auf jeden Fall muss darauf geachtet werden, dass sowohl in der DLL auch beim Aufruf aus einer Anwendung die gleiche Aufrufkonvention verwendet wird.
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat