Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Eigene Compilerschalter ein-/ausschalten
MisterBum83 - Mi 22.12.10 13:03
Titel: Eigene Compilerschalter ein-/ausschalten
Hallo zusammen,
besteht die Möglichkeit, eigen definierte Compilerschalter z.B. {$DEFINE testschalter}, die in einer INC-Datei vorhanden sind, im Quellcode über {$testschalter ON} bzw. {$testschalter OFF} ein- bzw. auszuschalten?
Wenn ich dies so mache meckert der Compiler immer mit:
Quelltext
1:
| Ungültige Compileranweisung: 'testschalter' |
Geht dies überhaupt mit eigenen C-Schaltern?
Gruß und Dank
MisterBum
jaenicke - Mi 22.12.10 13:15
Das ist kein Schalter was du da definierst. Du definierst, ob die Direktive definiert ist oder nicht. Und mit {$undef testschalter} kannst du die Definition auch wieder löschen.
MisterBum83 - Mi 22.12.10 13:20
D.h. ich kann den "testschalter" so garnicht zur Laufzeit ein-/ausschalten?
Wie könnte ich es denn machen?
Gruß und Dank
MisterBum
jaenicke - Mi 22.12.10 13:28
Na, wie ich es geschrieben habe: Definieren oder die Definition wieder entfernen. Wo ist das Problem? :nixweiss:
Flamefire - Mi 22.12.10 13:29
einen COMPILERschalter zur LAUFZEIT schalten?
Fällt dir was auf?
MisterBum83 - Mi 22.12.10 13:33
Flamefire hat folgendes geschrieben : |
einen COMPILERschalter zur LAUFZEIT schalten?
Fällt dir was auf? |
OK, es geht nicht.
Aber was bedeuten dann diese Anweisungen:
{$testschalter ON} bzw. {$testschalter OFF}
Wo müsste ich diesen testschalter anlegen oder deklarieren, damit ich ein- bzw. ausschalten kann?
Narses - Mi 22.12.10 13:50
Moin!
Compiler-Schalter sind Dinge, die hart im Compiler verdrahtet sind, sowas kann man nicht selbst "nachbauen". Du kannst aber eigene Symbole definieren und die Existenz dann abfragen und darauf reagieren, z.B. so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| {$DEFINE DEBUG_BUILD}
{$IFDEF DEBUG_BUILD} SomeValue := 1; {$ELSE} SomeValue := 2; {$ENDIF} |
Wenn du dann irgendwann ein Release-Build machst, dann schreibst du beim Define stattdessen:
Delphi-Quelltext
1:
| {$DEFINE RELEASE_BUILD} |
Dann wird das Symbol nicht mehr gefunden. :idea:
cu
Narses
Delete - Mi 22.12.10 20:57
Oder man setzt einfach einen Punkt davor und deaktiviert so den Compilerschalter.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!