Thema: Delphi Win32 DLL erstellen

Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#7

Re: Win32 DLL erstellen

  Alt 29. Apr 2005, 21:12
Zitat von bdaehn:
Sorry, hatte den letzten Absatz in Deiner Antwort schlichtweg uebersehen!
Ich hatte den Beitrag editiert, da es mir erst hinterher aufgefallen ist.

Zitat von bdaehn:
Ist denn die Uebersetzung von z.B.BOOL WINAPI scGetSaveFileName(SCFILEINFO* info) infunction scGetSaveFilename(var test: TScFileInfo):Bool; korrekt - oder muss man hier auch Pointer uebergeben?
WINAPI ist eine Aufrufkonvention. Es muss also lauten:function scGetSaveFilename(var test: TScFileInfo): LongBool; stdcall; Nebenbei:function scGetSaveFilename(ScFileInfo: PScFileInfo): LongBool; stdcall; ist intern das gleiche wiefunction scGetSaveFilename(var ScFileInfo: TScFileInfo): LongBool; stdcall; Nur, dass man sich bei letzterem darauf verlassen kann, dass die Adresse der Struktur immer gültig ist. Wenn dies nicht der Fall sein sollte (sieht in dem Quellcode nicht danach aus), dann sollte man die erste Varinate der Überszung (mit Pointer) vorziehen und zuerst den Pointer prüfen bevor man die Struktur benutzt...

Zitat von bdaehn:
Btw. was macht eigentlich ?TFNScGetJobInfoFunc = function(var TScJobInfo): BOOL; stdcall;
Das ist nur eine Definition für den Typ einer Funktion. Die Deklaration ist für den Code nicht wichtig. Nur in sofern, dass Dir der Typ als Vorlage für Deine Funktionen dienen soll.

Gruß Nico
  Mit Zitat antworten Zitat