Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: FindFirstFileNameW aufrufen

  Alt 11. Jan 2014, 16:05
Delphi-Referenz durchsuchenFindFirst kapselt MSDN-Library durchsuchenFindNextFile (FindNextFileA und ab D2009 FindNextFileW),
aber hier geht es um MSDN-Library durchsuchenFindNextFileNameW.

Das geht genauso, wie im Beisiel:
- Funktions-Typ deklarieren (entsprechend wie TGetTickCount64 die API-Deklaration übersetzen)
- über MSDN-Library durchsuchenLoadLibrary die DLL laden, oder via MSDN-Library durchsuchenGetModuleHandle das Handle holen, wenn die DLL definitiv schon geladen ist
- den Prozedur-Einsprungpunkt holen (MSDN-Library durchsuchenGetProcAddress) und der Variable des Funktionstyps zuweisen
(und dafür gibt es eigentlich millionen Beispiele und Tutorials zu finden, wie man eine API/WinAPI einbindet, auch wenn es kaum welcher für gerade diese API gibt, aber das Grundprinzip bleibt ja gleich)

Wenn du die Funktion unbedingt brauchst und das Programm ohne nicht geht, dann kann man die Funktion auch statisch einbinden ... siehe z.B. die Unit Windows, wo statische und dynamische Beispiele drin sind.


In deinem Beispiel wird die Funktion jedesmal bei jedem Aufruf geprüft und wenn noch nicht geladen, dann wird das erstmal gemacht, vor dem Aufruf.
Man kann die Funktions-Variable aber auch schon beim Programmstart (in einer eigenen Init-Prozedur, welche man aufruft) oder in Initialization laden.
$2B or not $2B

Geändert von himitsu (11. Jan 2014 um 16:15 Uhr)
  Mit Zitat antworten Zitat