Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Compilerschalter für D2009 Build-Konfigurationen? (https://www.delphipraxis.net/127003-compilerschalter-fuer-d2009-build-konfigurationen.html)

PeterPanino 6. Jan 2009 14:25


Compilerschalter für D2009 Build-Konfigurationen?
 
Hallo, in Delphi 2009 gibt es jetzt ja die neue Option "Build-Konfigurationen".

Weiß jemand, ob es einen Compilerschalter gibt, mit dem ein Sourcecode-Abschnitt nur bei einer bestimmten Build-Konfiguration compiliert wird (bzw. bei einer bestimmten Build-Konfiguration nicht compiliert wird)?

Uwe Raabe 6. Jan 2009 14:58

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Du kannst bei den verschiedenen Build-Konfigurationen unterschiedliche Defines angeben. Für Debug und Release sind die schon definiert und können über
Delphi-Quellcode:
{$IFDEF DEBUG}
// nur bei Debug-Build kompilieren
{$END}

{$IFDEF RELEASE}
// nur bei Release-Build kompilieren
{$END}
abgefragt werden.

PeterPanino 6. Jan 2009 15:16

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Vielen Dank! Wenn ich folgenden Code verwende:

Delphi-Quellcode:
{$IFDEF DEBUG}
{$APPTYPE CONSOLE}
{$END}
kommt die Fehlermeldung:

Zitat:

[DCC Fataler Fehler] Unit1.pas(3): E2280 Nicht abgeschlossene bedingte Direktive

jfheins 6. Jan 2009 15:21

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Delphi-Quellcode:
{$IFDEF DEBUG}
{$APPTYPE CONSOLE}
{$ENDIF}

PeterPanino 6. Jan 2009 15:29

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Zitat:

Zitat von Uwe Raabe
Für Debug und Release sind die schon definiert

Wo sind die definiert? Und wo kann man für eigene Build-Konfigurationen eigene Defines definieren?

jbg 6. Jan 2009 15:33

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Zitat:

Zitat von PeterPanino
Wo sind die definiert? Und wo kann man für eigene Build-Konfigurationen eigene Defines definieren?

Menü Projekt / Optionen / Knoten Delphi-Compiler / Eintrag Bedingungen (und mit "Build-Konfiguration" vorher auf Debug oder Release wechseln).

PeterPanino 6. Jan 2009 16:14

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Zitat:

Zitat von jbg
Zitat:

Zitat von PeterPanino
Wo sind die definiert? Und wo kann man für eigene Build-Konfigurationen eigene Defines definieren?

Menü Projekt / Optionen / Knoten Delphi-Compiler / Eintrag Bedingungen (und mit "Build-Konfiguration" vorher auf Debug oder Release wechseln).

Vielen Dank! :thumb:

PeterPanino 10. Jan 2009 20:50

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Neues Problem: Wenn ich den Compilerschalter {$IFDEF DEBUG} innerhalb der uses-Liste verwende, so schaltet er den betreffenden Teil der uses-Liste aus, OBWOHL die aktuelle Build-Konfiguration Debug ist!!!:

Delphi-Quellcode:
uses
  Windows, Forms, Graphics, SysUtils, ComCtrls, StdCtrls, Controls, Classes, Dialogs,
  AdvEdit, AdvEdBtn, AdvFileNameEdit,
  JclFileUtils,
  {$IFDEF DEBUG}
  CnDebug, // needs CnPack IDE Wizards
  {$ENDIF}
  ImgList;
Bei der obigen Konfiguration ist CnDebug ausgeschaltet, OBWOHL die aktuelle Build-Konfiguration Debug ist!!!

jfheins 10. Jan 2009 21:04

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Hast du das Projekt mal neu erstellt (statt compiliert) ? (Projekt>Projekt erstellen)

PeterPanino 10. Jan 2009 21:24

Re: Compilerschalter für D2009 Build-Konfigurationen?
 
Zitat:

Zitat von jfheins
Hast du das Projekt mal neu erstellt (statt compiliert) ? (Projekt>Projekt erstellen)

Wenn ich das Projekt neu "erzeuge", dann funktioniert es. Dann muss ich aber jedesmal, wenn ich eine Methode aus CnDebug verwende, ein neues Build ausführen? (Da sonst eine Fehlermeldung kommt, auch wenn ich nach dem Build die selbe Methode nochmals verwende!). Das ist aber äußerst umständlich!!! Kann man das nicht vermeiden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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