Skocz do zawartości

[Delphi] Dyrektywy kompilatora w Delphi XE


sybic

Polecane posty

Mam dwa programy - program1 i program2

 

W obu programach wywołuje dodatkowe okienko zdefiniowane jako Form3 w Unit3.pas

Niestety pewne fragmenty kodu w Form3 odwołują się do program1, co wyklucza użycie tej formy już do kompilowania program2.

Wiem, że mogę zastosować dyrektywy i kompilować pewne fragmenty kodu przeznaczone dla program1 i program2.

Niestety za każdym razem muszę to robić ręcznie

 

Czyli jeśli kompiluje program1

 

To daje {$DEFINE P1}

 

 

{$IFDEF P1}

 

kod dla programu 1

 

{$ELSE}

 

kod dla programu 2

 

{$ENDIF}

 

a jeśli program2 to daje {$DEFINE P2}

 

Pytanie - czy nie można zrobić tego automatycznie?

Chodzi o to, że gdzieś siedzi jakaś zmienna, którą mówi o nazwie wykonywanego programu i której mógłbym użyć do moich aplikacji?

Link do komentarza
Udostępnij na innych stronach

Niegdyś stosowałem technikę osobnego pliku konfiguracyjnego "config.inc" który włączałem do unitu wykorzystującego podane definicje.

Jak by nie patrzeć taką technikę chyba JEDI używają. tongue.gif (coś mi tak po głowie chodzi obraz źródeł directx'a )

 

plik config:

{$DEFINE WIN}

 

a Unit1 zawierał

Unit Unit1.pas

interface
{$I config.inc}

...
{$IFDEF WIN}
kod pod windows
{$ENDIF}
//natomiast kod w dyrektywach NIX był pomijany
{$IFDEF NIX}
kod linux
{$ENDIF}

 

Obecnie mało używam tych dyrektyw, a częściej korzystam z włączania całego katalogu z odpowiednimi unit'ami.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...