Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Wozu "$EXTERNALSYM"?


Andreas Pfau - Mo 10.02.03 20:51
Titel: Wozu "$EXTERNALSYM"?
Hallo,

kann mir jemand erklären, wozu man über Konstanten "{$EXTERNALSYM ...}" schreiben kann? Was bringt das, wann muss man das machen?

In der Onlinehilfe finde ich keine konkrete Antwort, nur irgendwas von C++ Headern.


AXMD - Di 11.02.03 13:43

Hi,

soweit ich weiß, kannst du damit extern deklarierte Konstanten aus kompilierten C-Files einbinden.

AXMD


Andreas Pfau - Di 11.02.03 17:32

Wie soll das gehen? Da müsste ich doch auf den Dateinamen eines C++-Headers verweisen, oder? Und was meinst du mit einbinden? Immerhin muss ich ja die Deklaration drunterschreiben?


AndyB - Di 11.02.03 22:39

{$EXTERNALSYM xxx} wird für der C++Builder benötigt. Es verhindert, dass beim Erstellen der Header-Datei zu der Unit dieses Symbol nicht deklariert wird.


Andreas Pfau - Mi 12.02.03 15:51

Aha, das heißt also, wenn ich aus 'ne PAS eine H-Datei machen will, dann sorgt $EXTERNALSYM dafür, dass die folgende Konstante auch inder H-Datei enthalten ist. Dann brauche ich das also im prinzip gar nicht für Delphi, wenn ich nicht vorhabe, es zu konvertieren?


AndyB - Mi 12.02.03 19:51

Andreas Pfau hat folgendes geschrieben:
dann sorgt $EXTERNALSYM dafür, dass die folgende Konstante auch inder H-Datei enthalten ist.

Genau das Gegenteil ist der Fall. Aber ich glaube bei meinem Satz ist ein nicht zuviel hineingerutscht.


Andreas Pfau - Mi 12.02.03 21:01

Ja, ist OK... Menschen sind Irre...

Aber, warum will ich nicht, dass die Konstante deklariert wird? also, angesichts der Tatsachen, dass ich von C++ kaum was verstehe, gebe ich mich damit zufrieden und Danke dir vielmals für deine Mühe! :D