Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#11

Re: JwaUnits unter FPC

  Alt 16. Jul 2007, 15:40
Zitat von Bernhard Geyer:
Zitat von Dezipaitor:
Wenn FPC nur statisch laden kann, dann würde es bedeuten, dass FPC die jwaUnits nicht verwenden kann?
"Einfach" nur die Funktionen rausschmeißen (löschen) welche bei deiner Mindest-Windows-Version nicht vorhanden sind.
Das Problem liegt einfach darin, dass FPC einfach alle statisch verlinkte Funktionen (procedure myfunc; extern 'xy.dll') in der EXE aufführt, auch wenn diese nie verwendet werden. Delphi nimmt diese nicht mit rein.


Ich habe gesehn, dass Jwa die Funktionen auch dynamisch per GetProcAdress laden kann.
Die Direktive dafür ist "DYNAMIC_LINK".

Leider gibt es noch 3 Fehler in jwaWinBase und jwaWinType:

GetModuleHandle
LoadLibrary
GetProcAddress

Der Compiler meckert, dass diese Funktionen bereits mit denselben Parametern überladen wurden. Diese Funktionen sind in jwaWinBase und jwaWinType deklariert.
Kommentiert man diese durch {$IFNDEF DYNAMIC_LINK}...{$ENDIF} aus, so lässt es sich kompilieren.


Ich habe nun die Units unter FPC IDE und unter Lazarus kompiliert, wobei ich für Lazarus den neusten FPC verwendet habe.
Unter FPC Compilereinstellungen kann man die Kompilerdirektive DYNAMIC_LINK direkt setzen. Unter Lazarus muss man dazu einen Umweg machen,
da die Programmierer die direkte Eingabe für die Kompilerdirektiven in den Einstellungen vergessen haben (zumindest half Suchen nichts).
Also: Menü Projekt -> Compilereinstellungen -> Tab "Andere" -> Edit "Benutzerdefinierte Einstellungen" :
Zitat:
-dDYNAMIC_LINK
.
Mehrere Direktiven müssen jedesmal gesondert angegeben werden:
Zitat:
-dDYNAMIC_LINK -dTEST -dTEST2
Die JwaUnits erfordern kein Delphisyntax.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat