Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Delphi-Compiler-Direktiven: EXTERNALSYM & WEAKPACKAG

  Alt 13. Sep 2005, 14:29
EXTERNALSYM
Das ist für den C++Builder gedacht. Der benutzt die selben Quellcode-Dateien wie Delphi. Der Delphi Compiler erzeugt für den C++Builder .hpp Dateien. Und weil Windows in C (/C++) geschrieben ist, werden auch Windows-Header Dateien eingebunden.
Nun kann es vorkommen, dass die Windows.pas z.B. DWORD definiert. Das wird aber durch windows.h auch schon definiert. Weil der C++ Compiler die zweite Definition als Fehler erkennen würde, sagt man dem Delphi-Compiler mit EXTERNALSYM, dass er das Symbol nicht in die .hpp Datei exportieren soll. Es handelt sich dabei nämlich um ein EXTERNAL SYMbol.

WEAKPACKAGEUNIT
Wenn man eine Unit in ein Package steckt, dürfen keine anderen Packages diese Unit auch enthalten, weil es sonst zu "Doppelte Unit" Fehlern kommt. Mit WEAKPACKAGEUNIT sagt man nun einer Unit, dass sie "Package-Private" ist. Eine WEAKPACKAGEUNIT Unit darf keine vorinitialisierten Daten und auch keine initialization/finalization Bereich haben.
  Mit Zitat antworten Zitat