Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Unverständliche Fehlermeldung bei Package Kompilierung (https://www.delphipraxis.net/27001-unverstaendliche-fehlermeldung-bei-package-kompilierung.html)

Jelly 2. Aug 2004 16:28


Unverständliche Fehlermeldung bei Package Kompilierung
 
Hallo,

ich krieg beim Kompilieren eines eigenen Packages (AGFoth) folgende Fehlermeldung:

Ein 'Never-build' Package 'AGFoth' benötigt 'alwas-build' Package 'GLControls'.

Dazu sagt mir die Delphi-Hilfe:
[oh]Sie versuchen ein NoBuild-Package zu erstellen, das ein AlwaysBuild-Package anfordert. Da die Schnittstelle eines AlwaysBuild-Package sich jederzeit ändern kann, und der Compiler bei Angabe des Flags NoBuild davon ausgeht, dass das Package auf dem neuesten Stand ist, kann ein NoBuild-Package nur solche Packages anfordern, die auch mit NoBuild markiert sind.

package Base;
end.

(*$IMPLICITBUILD OFF*)
package NoBuild;
requires Base;
end.

In diesem Beispiel fordert das NoBuild-Package ein Package an, das im AlwaysBuild-Status compiliert wurde.

(*$IMPLICITBUILD OFF*)
package Base;
end.

(*$IMPLICITBUILD OFF*)
package NoBuild;
requires Base;
end.

Zur Lösung des Problems wird Base in ein NeverBuild-Package umgewandelt. Alternativ könnten Sie auch {$IMPLICITBUILD OFF} aus dem NoBuild-Package löschen, und das Package in ein AlwaysBuild-Package umwandeln.[/oh]

Wer kann mir das erklären, denn ich versteh da nur Bahnhof? was ist ein NoBuild- rsp. AlwaysBuild-Package?

Gruß,
Tom

c113plpbr 2. Aug 2004 16:34

Re: Unverständliche Fehlermeldung bei Package Kompilierung
 
Soweit ich das weis, ist ein nobuild-package ein package, dass nie wieder neu erzeugt wird, sprich, z.B. als .dcu datei vorliegt, und auch so, ohne das ganze neu zu compilieren in das spätere programm eingebunden wird.

Ein always-build package dagegen, wird bei jedem compilieren der anwendung in der es verwendet wird, neu erstellt, also wieder compiliert, und erst dann eingebunden.

ciao, Philipp

Jelly 2. Aug 2004 16:43

Re: Unverständliche Fehlermeldung bei Package Kompilierung
 
Seltsam... die Units aus dem GLControls Package liegen mir aber als Quellcode vor, und im Bibliothekspfad sind die Verzeichnisse auch angegeben.

c113plpbr 2. Aug 2004 17:43

Re: Unverständliche Fehlermeldung bei Package Kompilierung
 
Es geht nicht darum, ob du den quellcode hast, oder nicht. Das ganze endet in einer Arbeitserparnis für den compiler, der dann die dateien, die sich nicht verändern (also nobuild-packages), nicht nochmals compilieren muss.

Da es aber (meiner information nach) so ist, dass der compiler gerne mehrere dateien miteinander verbindet, hast du ein problem, da der compiler einerseits versucht das always-build-package zu erstellen, darf es aber aufgrund der nobuild-anweisung nicht in die datei einbinden, die dieses packet unter anderem verwendet, da er diese nicht nochmals erstellen darf (wegen der nobuild-anweisung).
D.h. du machst entweder alles zu always-build, oder alles zu no-build, soweit du nichts nachträglich an den dateien veränderst.

ciao, Philipp

Jelly 2. Aug 2004 20:33

Re: Unverständliche Fehlermeldung bei Package Kompilierung
 
Hallo,

ok, hab deine Argumentation verstanden. Und nachdem ich mir jetzt den Quelltext von GLControls.dpk mal in einem Texteditor anschau, steht da tatsächlich die Compileranweisung {$IMPLICITBUILD ON} drin. Werds morgen mal an der Uni auf OFF schalten, und kucken obs dann kompiliert.

Danke schon mal.

Gruß,
Tom


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