Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi compiler-Direktiven!! (https://www.delphipraxis.net/103817-compiler-direktiven.html)

MondoShiva 22. Nov 2007 08:55


compiler-Direktiven!!
 
Guten morgen allerseis,
Ich habe ein kleines problem bezüglich compiler variabelen ...

Ich habe schon das internet durchforstet aber finde keine relevanten informationen die zu meinem problem passen. Also problem ist ....

1. Kann ich objekte / buttons, edit felder, comboboxen etc. in eine compiler variable packen und diese dadurch nicht kreieren lassen?

2. proceduren ebenfalls in compiler variabelen packen und nicht kreieren lassen / was muss ich dabei beachetn.

3. wie die compiler variabelen richtig zu benutzen sind?

Delphi-Quellcode:

{$IFDEF TEST}
testtab : TtabSheet;
{$ENDIF}
procedure mitcompilieren;
{$IFDEF TEST}
procedure pseudotest;
{$ENDIF}
so in etwa??

Phoenix 22. Nov 2007 09:01

Re: compiler Variabelen!!
 
Hi :hi:

Das Stichwort ist Compiler-Direktiven. Nicht Compiler-Variablen.
Wenn Du mal nach Compiler-Direktiven suchst, dann wirst Du hier (und auch im Netz) ein paar nützliche Tutorials finden.

Generell gilt:

Zitat:

Zitat von MondoShiva
1. Kann ich objekte / buttons, edit felder, comboboxen etc. in eine compiler variable packen und diese dadurch nicht kreieren lassen?

2. proceduren ebenfalls in compiler variabelen packen und nicht kreieren lassen / was muss ich dabei beachetn.

1.) Das geht nur, wenn Du sie dynamisch erzeugst. Wenn Du sowas auf ein Formular ziehst, dann werden die IMMER erzeugt.

2.) Das geht - Du musst dabei aber auch jeden Aufruf dieser Methoden mit den Direktiven versehen.

MondoShiva 22. Nov 2007 09:41

Re: compiler Variabelen!!
 
dank dir.

Ich sehe rosige zeiten auf mich zukommen ^^ werde mich dann mal nach Compiler-Direktiven umschauen ;)

RavenIV 22. Nov 2007 09:49

Re: compiler Variabelen!!
 
Zitat:

Zitat von MondoShiva
dank dir.

Ich sehe rosige zeiten auf mich zukommen ^^ werde mich dann mal nach Compiler-Direktiven umschauen ;)

Da kann man viele lustige Sachen damit machen.
Man sollte es aber nicht übertreiben, sonst wird der Code schlecht lesbar.

mkinzler 22. Nov 2007 09:53

Re: compiler Variabelen!!
 
Und am Besten gleich den Betreff des Threads Ändern

hoika 22. Nov 2007 10:07

Re: compiler Variabelen!!
 
Hallo,

ich würde nicht so rangehen.
Definiere lieber eine Variable bTest,
die du (z.B. per Direktive) auf True setzt.

In deinem Code steht dann etwa im FormCreate

if bTest then
Delphi-Quellcode:
begin
  Btn_Vollversion.Visible:= False;
end;
Vorteil : Übersichtlicher
Nachteil : Der Code bleibt in der Exe

Wenn es nicht um Testversion/Vollversion geht,
nimm statt dessen lieber eine Konfigurationsdatei (oder DB),
in der du die entsprechende Konfiguration speicherst.


Heiko

Dezipaitor 22. Nov 2007 10:31

Re: compiler Variabelen!!
 
Du kannst übrigens die Direktive im ENDIF wiederholen, um bessere Übersicht zu bekommen
Delphi-Quellcode:
{$IFDEF XY1}
  {$IFDEF XY2}
    {$IFDEF XY3}
    {$ENDIF XY3}
  {$ENDIF XY2}
{$ENDIF XY1}

MondoShiva 27. Nov 2007 10:39

Re: compiler-Direktiven!!
 
Ja ich stecke noch immer in den compiler direktiven und es kommen immer wieder neue probleme...

Ich habe nun all die sachen in die ompiler direktiven geschrieben die nicht mehr von nöten sind jedoch stellt sich mir ein formular entgegen,....

ich habe das formular durch das setzten einer compiler direktive in den "Uses" herrausgenommen ebenso alle proceduren etc die auf dieses formular zugreifen nun beim compilieren sagt er mir immer das aus dem formular etwas auf das hauptformular zugreifen möchte.

wird das formular noch weiterhin compiliert und creiert wenn es in der compiler-Direktive steht?
bei zisch anderen Formularen gibt es dieses Problem nicht.

diesen netten fehler bekomme ich dann immer:

[Fehler] (Formular in compiler direktive): Undefinierter Bezeichner: 'test(procedure)'

helft mir :wall: ^^

Phoenix 27. Nov 2007 10:46

Re: compiler-Direktiven!!
 
Du musst es überall dort via Direktiven "ausklammern", wo es benutzt wird.

Steht das Form ggf. noch woanders in einer Uses-Klausel? Hast Du es auch in der Projektdatei direkt "ausgeklammert"?

RavenIV 27. Nov 2007 10:47

Re: compiler-Direktiven!!
 
Steht das Formular vielleicht im .dpr noch mir drin?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 Uhr.
Seite 1 von 2  1 2      

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