Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   'Never-build' Package muss neu compiliert werden (https://www.delphipraxis.net/166027-never-build-package-muss-neu-compiliert-werden.html)

himitsu 26. Jan 2012 12:20

'Never-build' Package muss neu compiliert werden
 
Zitat:

[DCC Fataler Fehler] xxx.pas(9): E2225 'Never-build' Package 'xxx' muss neu compiliert werden
Es wird ein Package kompiliert, welches von Diesem abhängig ist.
Bekommt man irgendwie raus, warum Delphi der Meinung ist das unbedingt neu kompilieren zu wollen?

Dieses Package steht absichtlich auf "Buildsteuerung: manuell", da es innerhalb der IDE oftmals Probleme beim Entladen gibt und die IDE dann meistens gleich mit verreckt.
Alles wird hauptsächlich via FinalBuilder kompiliert und innerhalb der IDE wird das aktuelle Package/Projekt kompiliert und gedebuggt.

Nun meint aber Delphi urplötzlich das oben genannte und man kann in der IDE oftmals nicht mehr arbeiten/kompilieren.

Uwe Raabe 26. Jan 2012 12:29

AW: 'Never-build' Package muss neu compiliert werden
 
Ich weiß nicht, ob das hier bei dir zutrifft, aber das kann an unterschiedlichen Projektoptionen für die beiden Packages liegen. Um das zu beheben, kann man (zumindest ab XE2) ein solches Konstrukt in die DPK einbauen:

Delphi-Quellcode:
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS OFF}
{$BOOLEVAL OFF}
{$DEBUGINFO OFF}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS OFF}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO OFF}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST ON}
{$MINENUMSIZE 1}
{$IMAGEBASE $50000000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}

himitsu 26. Jan 2012 12:49

AW: 'Never-build' Package muss neu compiliert werden
 
Jupp, hab auch schon sowas in der Art vermutet, und ich versuche grade auch die Projektoptionen zwischen FinalBuilder und IDE zu prüfen, aber hab noch nicht wirklich was gefunden.

Außer dein Einstellungen für EurekaLog, aber die hab ich in der Zwischenzeit auch angepasst und nichts hat sich verändert.


Zitat:

Delphi-Quellcode:
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
...
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}

Überall sowas reinzumachen ist nicht so leicht, bei dutzenden Packages/Projekten und tausenden Units, weil das müßte dann oftmals in jede Unit rein, da vieles davon sich nur auf die aktuelle Unit auswirkt und nicht projektweit.


Darum wäre es schön wenn mit Delphi XE sagen würde, was es denn nun auszusetzen hat.
Irgendeinen Grund muß es ja geben und den sollte es mir nicht einfach so verheimlichen.

Uwe Raabe 26. Jan 2012 13:13

AW: 'Never-build' Package muss neu compiliert werden
 
Beim Konvertieren der Packages nach XE2 wird dieses IFDEF anscheinend automatisch eingesetzt. Ich bin mir auch nicht sicher, ob es unter XE schon funktioniert. Aus deinem ersten Post ging leider die Delphi-Version nicht hervor, daher habe ich mich an deinem Profil orientiert.

himitsu 26. Jan 2012 13:18

AW: 'Never-build' Package muss neu compiliert werden
 
Auf Arbeit nutzen wir vorwiegend XE (ein XE2 ist zwar auch dort schon vorhanden, aber unser Projekt auch noch darauf umzustellen ... sind grade Mal mit D7>XE fertig, mit kleineren Rückbleibseln)

himitsu 11. Feb 2012 13:14

AW: 'Never-build' Package muss neu compiliert werden
 
Ups, ganz vergessen zu antworten. :oops:

Der Grund war, daß sich unter C:\Users\Public\Documents\RAD Studio\8.0\Bpl eine alte BPL befand.
Ist wohl mal irgendwann in den falschen Pfad kompiliert wurden.

Zusätzlich befand sich dieser Pfad vor unserem gewollten Pfad in den den Suchpfaden, so daß die IDE die falsche (uralte) BPL fand, wärend es im FnalBuilder keine Probleme gab.

Tja, und die alte Datei erklärt auch, warum neuere Typen und Funktionen nicht von der IDE gefunden wurden. :wall:


Das schöne ist auch, daß auf einem Terminal-Server quasi mehrere Delphiinstallationen sein können, welche alle ihre eigenen benutzerbezogenen Einstellungen haben,
aber dennoch wird hier standardmäßig in ein globales Verzeichnis kopiert, mit dem Ergebnis, daß alle Accounts das Problem bekommen haben. :shock:

TiGü 14. Mär 2012 13:50

AW: 'Never-build' Package muss neu compiliert werden
 
Ich habe ein ähnliches Problem mit XE 2, was ich hier näher beschreibe.
Das Problem tritt auch bei anderen Packages auf. Ich fang langsam an zu rotieren.

TiGü 14. Mär 2012 16:15

AW: 'Never-build' Package muss neu compiliert werden
 
Der Vollständigkeit halber für Leute die in der Zukunft das gleiche Problem haben sollten:

Die Packages, die andere Packages wollen, brauchen die dazugehörige *.dcp Datei.
Man muss also im Suchpfad / Search path in den projektlokalen Einstellungen den Pfad eingeben, bei mir war es $(BDSCOMMONDIR)\Dcp.

An dieser Stelle noch vielen Dank an die Ersteller der nichtssagenden Fehlermeldungen, verf***** W******!
Ein "Could not find blabla.dcp file!" hätte mir einige Stunden Frust erspart!


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