AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JwaUnits unter FPC

Ein Thema von Dezipaitor · begonnen am 14. Jul 2007 · letzter Beitrag vom 17. Jul 2007
Antwort Antwort
Seite 2 von 2     12   
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
Robert Marquardt
(Gast)

n/a Beiträge
 
#12

Re: JwaUnits unter FPC

  Alt 16. Jul 2007, 18:06
Wenn die Funktionen in JwaWinType und JwaWinType vorhanden sind, dann sind sie auch in den Originalfiles von Windows. Da ist der C Compiler halt sehr viel nachgiebiger.
Vielleicht starten wir ja eine Wiederbelebung der Jedi-Apilib. Die letzte Aktion ist in die Hose gegangen. Wir wollten ein JwaWindows.pas machen, aber das includen und die IFDEFs dazu haben den Delphi-Compiler ueberfordert.
  Mit Zitat antworten Zitat
Dezipaitor

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

Re: JwaUnits unter FPC

  Alt 16. Jul 2007, 19:01
Zitat von Robert Marquardt:
Wenn die Funktionen in JwaWinType und JwaWinType vorhanden sind, dann sind sie auch in den Originalfiles von Windows. Da ist der C Compiler halt sehr viel nachgiebiger.
Das verstehe ich nicht. Was hat der erste Satz mit dem zweiten zu tun?
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#14

Re: JwaUnits unter FPC

  Alt 17. Jul 2007, 06:12
Dem C Compiler ist es weitgehend schnurz ob er eine Funktionsdeklaration einmal oder mehrmals bekommt. Solche Doppeldeklarationen kommen also gelegentlich vor. Winbase.h und WinType.h sind sowieso nicht wirklich eigenstaendig. Man benutzt sie durch windows.h. Delphi hat aber etwas gegen solche Doppeldeklarationen. Da ist die Sprache halt anders.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz