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.