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 {$IF exists(...)} the include (https://www.delphipraxis.net/139786-%7B%24if-exists-%7D-include.html)

himitsu 7. Sep 2009 08:41

Re: {$IF exists(...)} the include
 
genau darum wollte ich ja keine dieser "externen" Scripte verwenden

himXML ist ja nur ein Programmteil, also kann ich z.B. die Pre-/Postcompile-Sachen schlecht in den (nichtvorhandenen) Projektoptionen voreinstellen.

Es wäre nur schön gewesen, wenn sowas möglich gewesen wäre, dann hätt ich den Hauptteil wieder komplett in nur einer Datei.

Aber gegen viele andere Komponenten ist es ja schon wenig, wenn man mindestens nur die Hauptunit und eine Sprachunit benötigt ... die anderen Units sind alle optional.
Im Grunde kann ich ja dennoch die Hauptsprachstrings dennoch eingebaut lassen und binde eben eine zusätzliche/alternative Sprachedatei via einem manuell einstellbarem Compilerschalter ein. :angel:

Kalfany 7. Sep 2009 12:23

Re: {$IF exists(...)} the include
 
spricht irgendwas dagegen das so zu machen?

Delphi-Quellcode:
if FileExists('himXML_Lang.inc') then
begin
   {$DEFINE LANG_EXISTS}
end;

{$IFDEF LANG_EXISTS} 
  {$INCLUDE 'himXML_Lang.inc'} 
{$ELSE} 
  ...
{$IFEND}
habs jetzt nicht getestet ... sollte aber funktionieren :gruebel:

Edit: muss natürlich FileExists heissen

Neutral General 7. Sep 2009 12:28

Re: {$IF exists(...)} the include
 
Ich denke das wird nicht funktionieren.

Compilerschalter sind unabhängig von dem Code drumrum...

himitsu 7. Sep 2009 12:37

Re: {$IF exists(...)} the include
 
Zitat:

Zitat von Neutral General
Compilerschalter sind unabhängig von dem Code drumrum...

erstmal das ... hatte mal versucht mit sowas rauszufinden, ob eine Funktion eingelinkt wurde und nur dann die darin verlinkten Variablen wo anders zu initialisieren.
(also das $DEFINE in die Funktion eingebaut)
blöd ist halt, daß diese Initialisierung und auch die Variablen (durch die Initialisierung) immer vorhanden sind, selbst wenn sie nicht benötig werden. :wall:

Delphi-Quellcode:
if FileExists('himXML_Lang.inc') then
und dann bringt dieses so nur etwas zur Laufzeit (wo dieser Code ausgeführt wird) und nicht schon wärend des Kompilierens

Kalfany 7. Sep 2009 13:01

Re: {$IF exists(...)} the include
 
Zitat:

Zitat von himitsu
Zitat:

Zitat von Neutral General
Compilerschalter sind unabhängig von dem Code drumrum...

erstmal das ... hatte mal versucht mit sowas rauszufinden, ob eine Funktion eingelinkt wurde und sie nur dann die darin verlinkten Variablen wo anders zu initialisieren.
(also das $DEFINE in die Funktion eingebaut)
blöd ist halt, daß diese Initialisierung und auch die Variablen (durch die Initialisierung) immer vorhanden sind, selbst wenn sie nicht benötig werden. :wall:

Delphi-Quellcode:
if FileExists('himXML_Lang.inc') then
und dann bringt dieses so nur etwas zur Laufzeit (wo dieser Code ausgeführt wird) und nicht schon wärend des Kompilierens

stimmt daran hab ich garnicht gedacht :wall:


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

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