Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   {$IFDEF} in der Beispiel.dproj unter USES (https://www.delphipraxis.net/168200-%7B%24ifdef%7D-der-beispiel-dproj-unter-uses.html)

ADelph 9. Mai 2012 16:21


{$IFDEF} in der Beispiel.dproj unter USES
 
Hallo,

ich bin gerade dabei, eine Variante zu einem Programm zu entwickeln. Da ich dazu andere Units verwenden will, dachte ich mir, dass es schlau wäre, im USES-Bereich der dproj-Datei die Units entsprechend einzuschließen.

Also etwa so:
Delphi-Quellcode:
Program Beispiel;

uses
  Basis1 in 'Basis1.pas',
  Basis2 in 'Basis2.pas',
...
{$IFDEF VERSION2}
  Unit1 in 'Version2\Unit1.pas',
  Unit2 in 'Version2\Unit2.pas',
...
{$ELSE}
  Unit1 in 'Version1\Unit1.pas',
  Unit2 in 'Version1\Unit2.pas',
{$ENDIF}

{$R *.RES}

begin
...
end.
Das klappt aber nicht, weil nach jeder Speicherung oder Änderung in der dproj-Datei diese Konstruktion verschwindet und nur eine Variante übrig bleibt.

Hat jemand eine Idee, wie ich das verhindern kann oder wie ich es eben so leicht und übersichtlich anders hinkriegen kann? Das wäre sehr hilfreich.

Danke!
Grüße

Insider2004 9. Mai 2012 16:26

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
Das ist ein bekannter Fehler (seit Jahrzehnten). Das Problem ist, dass der *.dpr code "gemanaged" wird. Nach jedem Editieren durch die IDE fliegen die ifdef raus. Die IDE kennt diese nicht.

mkinzler 9. Mai 2012 16:26

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
Trage es in der dpr ein.

Insider2004 9. Mai 2012 16:28

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
Ist das nicht das gleiche?

mkinzler 9. Mai 2012 16:29

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
Nein, die dproj wird aus der dpr erzeugt, welche es zusätzlich gibt. Wenn man in der IDE unter auf Quelltext anzeigen geht, wird auch die dpr geöffnet

ADelph 9. Mai 2012 16:40

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
...Donnerwetter,

dass das ein bekannter Fehler ist, hatte ich noch nie irgendwo gehört - dabei bin ich schon fast Jahrzehnte dabei :? :wink:...

Ich öffne mit 'Quelltext anzeigen' - was wird dann da gezeigt, die dproj wie es in der Projektverwaltung suggeriert wird oder die dpr?

Laut Register-Anzeige ist es die dpr - und in der ändere ich. Dann sollte es doch klappen, oder?

Grüße

jaenicke 9. Mai 2012 16:43

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
Zitat:

Zitat von mkinzler (Beitrag 1165679)
Trage es in der dpr ein.

Wie eigentlich unschwer zu erkennen ist, handelt es sich bei den Zeilen oben um die .dpr Datei. In der .dproj stehen XML-Daten.

Jedenfalls wurde ein entsprechender QC-Report vor Jahren als "as designed" geschlossen. Es besteht daher wenig Hoffnung, dass sich da etwas ändern wird. Du wirst das also anders lösen müssen.

mkinzler 9. Mai 2012 16:46

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
Warum Fehler? Die dpr gab es schon immer. Die Dproj/groupproj/... kamen zusätzlich bei der Einführung der neuen IDE. Diesen enthalten zusätzlich noch temporäre und maschinenspezifische Einstellungen.

bernhard_LA 9. Mai 2012 16:48

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
habe das ganze über Include files gelöst


siehe http://www.delphipraxis.net/165010-x...irectiven.html

ADelph 9. Mai 2012 16:51

AW: {$IFDEF} in der Beispiel.dproj unter USES
 
...das mit den Include-Dateien wollte ich gerade vermeiden...ich finde das dann nicht sehr übersichtlich. Es wäre halt schöner, wenn es direkt zu sehen wäre.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:22 Uhr.

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