Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Projekt bezogene Compiler Direktive (https://www.delphipraxis.net/47018-projekt-bezogene-compiler-direktive.html)

Tau 5. Jun 2005 23:01

Re: Projekt bezogene Compiler Direktive
 
Hallo Hansa

was bedeuteten eigentlich (* *) diese Zeichen im Bezug auf die Compiler Direktive :gruebel:

ansonsten ist es genau das was alcaeus geschrieben hat.

Zitat:

In der dpr-Datei: Quellcode: markieren

Zitat:

{$DEFINE FOO}
program SomeTest;
//...


In der Unit: Quellcode: markieren
Zitat:

{$IFDEF FOO}
ShowMessage('Foo');
{$ENDIF}


schöne Grüsse
Tau

Hansa 5. Jun 2005 23:35

Re: Projekt bezogene Compiler Direktive
 
Alcaeus hat ja auch Recht. Ich wollte nur darauf hinweisen, daß so was normalerweise im Source geregelt wird und nicht in der IDE ! Und das Statement mit Projekt usw. kam danach. Du willst ja wohl nicht im Notfall dein Delphi extra installieren´und dann noch an den Projektoptionen rumfummeln. {} und (**) klammern Kommentare. Aber nur, sofern hinter (* oder { direkt kein $ kommt !!

Guck Dir doch mal ein Beispiel an, z.B. das hier (Teil der USES - Liste) :

Delphi-Quellcode:
{$IFDEF Delphi6}
  DesignIntf,
  DesignEditors,
{$ELSE}
  DsgnIntf,
{$ENDIF}
Das betrifft eine Frage, die auch hier schon des öfteren gestellt wurde. Aber egal. Das bedingte Symbol "Delphi6" wird in diesem Fall allerdings durch Delphi definiert. Es soll also ausgeschlossen werden, daß der verwendete Compiler Ärger macht. Es hindert Dich aber niemand dran dir selber solche Sachen mit (*$DEFINE blabla*) zu definieren und über (*$IFDEF blabla*) auszuwerten. Der Code bis zum (*$ENDIF*) wird nur dann ausgewertet werden, sofern vorher auch (*$DEFINE blabla*) steht ! Mehr ist das nicht. Man muß doch nur wissen, daß ein Compiler den Quelltext zeilenweise durchgeht und dementsprechend reagieren.

P.S.: ich benutze aus purer Faulheit lieber das (* anstatt {. Es dauert mir zu lange das AltGr und das { zu suchen. Einen * finde ich zur Not auch auf einer verstellten Tastatur oder einer ausländisch beschrifteten. Die geschweiften Klammern eher nicht. 8)

Tau 6. Jun 2005 00:23

Re: Projekt bezogene Compiler Direktive
 
Hallo Hansa

Danke für die Erklärung :thumb:

aber trotzdem hilft es mir bei meinem Problem nicht.


schöne Grüsse
Tau

Hansa 6. Jun 2005 00:49

Re: Projekt bezogene Compiler Direktive
 
Dann bin ich mit meinem Latein am Ende und muß das tun, was ich nicht gerne mache : Gucke in der Delphi-Hilfe. :mrgreen:

mschaefer 6. Jun 2005 07:30

Re: Projekt bezogene Compiler Direktive
 
Moin , noch Frühmoin,

das Problem war doch folgendes
Zitat:

ich habe einige Formulare die ich in verschiedenen Projekten einsetzen möchte...
also ich würde neben den speziellen Projektverzeichnissen ein allgemeines Projektverzeichnis anlegen.
In dieses lege ich die mehrfach zu nutzenden Formularunits und -dateien und binde diese einfach in mehrere
Projekte ein (mit Projekt hinzufügen). Oder war das jetzt zu einfach?
Compilerdirektiven im Quelltext sieht natürlich chic aus, aber die verbrauchen immer viel Kaffee....

Grüße // Martin


PS: Welche Units eingebunden werden ist in der dpr-Datei gespeichert und da könnte man sich auch mehrere anlegen...

jim_raynor 6. Jun 2005 10:21

Re: Projekt bezogene Compiler Direktive
 
Zitat:

Zitat von Tau
Hallo zusammen

warum werden eigentlich diese Projekt Optionen
nicht irgend wo im Projekt gespeichert?

kann mir vielleicht jemand das erklären. :gruebel:

schöne Grüsse
Tau

Eigentlich müssten die in der *.cfg des Projektes zu finden sein ;) Dort stehen auch die ganzen Kompiler-Direktiven drin.

Phoenix 6. Jun 2005 10:32

Re: Projekt bezogene Compiler Direktive
 
Also ich habe meistens eine einzelne Datei, die nur die Compilerdirektiven enthält - allerdings wirklich alle in der jeweilig korrekten Einstellung. Diese Datei wird dann in der .dpr einfach included. Hat den Vorteil, das ggf. von der IDE verstellte Direktiven mit meinem Include definitiv überschrieben werden.

Noch ein Vorteil: Ich habe eine inlude-Datei für Debug- und eine für Auslieferungs- Echsen. So kann ich per Batch-File die eine oder die andere Datei dorthin kopieren und habe meine gültige Konfiguration.

Tau 6. Jun 2005 11:59

Re: Projekt bezogene Compiler Direktive
 
Hallo Zusammen

Phoenix:
wie ist so eine include Datei aufgebaut.
Hast du vielleicht auch ein kleines Beispiel dafür, währe sehr nett.

jim_raynor:
ich weiß das in der *.cfg Datei die Daten drin sind aber
sie werden vom Compiler nicht herangezogen weis aber nicht warum?

gibt es irgendeinen Schalter den man umlegen muss?

schöne Grüsse
Tau


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz