Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Build-Konfigurationen Debug / Release in Packages ignoriert? (https://www.delphipraxis.net/132877-build-konfigurationen-debug-release-packages-ignoriert.html)

Rüdiger_ 21. Apr 2009 10:11


Build-Konfigurationen Debug / Release in Packages ignoriert?
 
Hallo,

ich verzweifele momentan an der Portierung von Bibliotheken von Delphi 2007 nach 2009:
Unsere Packages werden über Build-Konfigurationen jeweils für Debug und Release getrennt compiliert.
Unter Debug ist $D+ eingeschaltet und "DEBUG" definiert, unter Release nicht ($D-) und "RELEASE" definiert.
Folgender Code steht zur Kontrolle am Anfang der in jeder Unit includeten Projektoptionsdatei:
Delphi-Quellcode:
{$ifdef DEBUG}
  {$IFOPT D+}
    {$Message Hint 'Debug ist EINGESCHALTET'}
  {$else}
    {$Message Fatal 'Fehler: Debugschalter im Debugmodus aus!'}
  {$endif}
{$else}
  {$ifndef RELEASE}
    {$Message Fatal 'Fehler: weder DEBUG noch RELEASE angegeben!'}
  {$endif}
{$endif}

{$ifdef RELEASE}
  {$IFOPT D+}
    {$Message Fatal 'Fehler: Debugschalter im Release an!'}
  {$else}
    {$Message Hint 'Code wird ohne Debuginformation compiliert'}
  {$endif}
{$endif}
Wird dieser Code in einem EXE-Projekt verwendet, funktioniert das einwandfrei.
Bei einer Bibliothek dagegen wird anscheinend nur der unter Build-Konfiguration "Basis" angegebene Wert für "Debuggen - Debug Informationen" verwendet. (Vorgabe: True)
Die Überschreibung in "RELESE" wird anscheinend ignoriert.
Obiger Code bleibt dann mit Meldung 'Fehler: Debugschalter im Release an!' stehen.
d.H. egal. was man unter DEBUG oder RELEASE angibt, es wird immer der Wert von BASIS verwendet. Das gleiche gilt für "Lokale Symbole" ($L).
Die anderen Projektoptionen scheinen zu funktionieren - Symbolreferenzinfo macht noch mucken und speichert als seinen Wert nicht; das war aber auch unter D2007 schon so.

Nochmal: dieses seltsame Verhaltet tritt bei uns nur bei Packages auf. (auch, wenn man die Projektdatei komplett neu erstellt)
- Kann dies einer nachvollziehen?
- gibt es einen Patch?

Wenn das so stimmt, bedeutet das, daß alle mit Delphi 2009 erzeugten Komponentenbibliotheken Debug-Informationen beinhalten (außer der Standard unter BASIS wurde geändert) :wall:

jbg 21. Apr 2009 11:14

Re: Build-Konfigurationen Debug / Release in Packages ignori
 
Zitat:

Zitat von Rüdiger_
gibt es einen Patch?

Vielleicht hast du Glück und der Bug ist mit Update 3 behoben.

Zitat:

Wenn das so stimmt, bedeutet das, daß alle mit Delphi 2009 erzeugten Komponentenbibliotheken Debug-Informationen beinhalten
Die Debug-Infos landen nie in der BPL. Sie stehen in der DCP Datei. Und so lange du diese nicht ausliefern musst (oder die TD32 Debug-Infos aktiviert hast, die in der BPL landen), dann sollte das kein Problem darstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.

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