Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Viele Projekte auf einmal kompilieren (https://www.delphipraxis.net/127624-viele-projekte-auf-einmal-kompilieren.html)

cytrinox 16. Jan 2009 09:05


Viele Projekte auf einmal kompilieren
 
Hi,

für jedes Programm-Release muss ich ca. 220 Delphi Projekte kompilieren (das meiste davon BPLs).
Das Problem ist, dass das BDS in einer Project Group nicht mehr als 99 Projekte zulässt. Oder genauer gesagt: man kann zwar mehr hinzufügen, danach stürzt BDS aber an den unterschiedlichsten Stellen ab (Internal Error E391283782Wasweissich.

Gibt es eine andere Methode all diese Pakete neu zu erstellen? Von mir aus auch als Batch, soweit man alle Warnungen unterdrücken kann und ich nur sehe:
Code:
MyBPL1.bpl: Success
MyBPL2.bpl: Error
....
Eine Möglichkeit bei allen Packages, Applications und DLL Dateien die Minor und/oder Release Versionsnummer automatisch zu erhöhen oder festzulegen, ohne dabei die Build-No. ändern zu müssen wär auch genial.



PS: Eingesetzt wird BDS 2006 mit Update 2

Andreas L. 16. Jan 2009 09:07

Re: Viele Projekte auf einmal kompilieren
 
Wie wärs die ganzen Projekte auf 5 Projektgruppen aufzuteilen?

angos 16. Jan 2009 09:09

Re: Viele Projekte auf einmal kompilieren
 
Ich weis das es da eine Möglichkeit gibt, automatisch Projekte zu kompilieren. Hab nur leider hier gerade nichts parat. Ich schau aber heute abend gerne zuhause nach, ob ich darüber noch infos habe

Gruß
Ansgar

Phoenix 16. Jan 2009 09:12

Re: Viele Projekte auf einmal kompilieren
 
Du kannst die Delphi-Projektdateien (egal was drin ist) direkt mit der Compiler - Echse (dcc32.exe) aufrufen und so durchkompilieren.

Wichtig ist dabei jedoch, dass Du die Suchpfade der Projekte (und alle weiteren nötigen Compilerschalter) in der Projektname.cfg (oder dcc32.cfg) im gleichen Verzeichnis liegen. Das bedeutet für Dich, dass Du erstmal ne Weile nach den richtigen Einstellungen in der Datei nachforschst, aber prinzipiell ist das kein Problem.

Das setzen der Versionsinformationen würde ich in diesem Fall per 'manuell' kompilierter Resource machen.
Damit kannst Du ein kleines Tool laufen lassen, welches die Versionsinformationen in der .res - Datei setzt, diese dann in eine .dcr Kompiliert (brcc32.exe, der Resource-Compiler) und erst diese wird dann in das Projekt eingebunden.

Das hat den Nachteil, dass Du die Version nicht mehr in der IDE setzen kannst, aber dafür ist das automatisiert.

Alternativ kannst Du auch externe Tools wie z.B. FinalBuilder einsetzen, die kosten dann aber was.

cytrinox 16. Jan 2009 09:14

Re: Viele Projekte auf einmal kompilieren
 
Das ist die momentan verwendete Methode. Das ist nur recht nervig immer zwischen allen hin und her zu schalten, vor allem wenn es in bei einem Package in ProjectGroup3 kracht, weil in ProjectGroup1 bei einem Project ein Interface abgeändert wurde usw.

Außerdem ist seit dem Update 2 die Compile/Build all Funktion total unbrauchbar. Die ersten 3-20 Projekte werden ohne Probleme gebaut, aber dann bricht der Prozess mit Internal Error ab. Klickt man jedes Package einzeln an und wählt im Kontext Menü "Compile" oder "Build" geht alles problemlos. Momentan muss ich das bei jedem Release manuell machen und wenn irgendwo noch ein echter Compile Error auftaucht und ich ein Paket fixen muss kann ich von vorne anfangen...

Daher hab ich mir gedacht ich könnte mal eine praktischere Lösung suchen die auch gleich alles kompiliert.

himitsu 16. Jan 2009 09:42

Re: Viele Projekte auf einmal kompilieren
 
ich glaub auf Luckies Seite wurde irgendwo ein Tool genannt, womit man die Versionsinfo in der .res ändern kann (diese dürfte sich dann auch in den Projektoptionen noch ändern lassen)

cytrinox 16. Jan 2009 09:44

Re: Viele Projekte auf einmal kompilieren
 
Zitat:

Zitat von Phoenix
Wichtig ist dabei jedoch, dass Du die Suchpfade der Projekte (und alle weiteren nötigen Compilerschalter) in der Projektname.cfg (oder dcc32.cfg) im gleichen Verzeichnis liegen. Das bedeutet für Dich, dass Du erstmal ne Weile nach den richtigen Einstellungen in der Datei nachforschst, aber prinzipiell ist das kein Problem.

Nunja, ~220 Config Dateien anpassen ist schon ein Problem ;)

Ich hab mir den dcc32 mal kurz angeschaut: Zum Beispiel verabschiedet sich der gleich mit "Required package "IndyCore" not found.".

Ich denke mal, dass ich dazu den Library search path aus dem BDS brauche, also habe ich mir den rauskopiert und in eine dcc32.cfg geschrieben:

Code:
-L";$(BDS)\Imports;$(BDS)\Lib\Indy10;...vielemehr"
Aber er findet die trotzdem nicht. Kann es sein dass er $(BDS) nicht auflösen kann? Es wär schon praktisch wenn ich die Pfade verwenden könnte, da die Pfade auf den beiden Rechnern auf denen hauptsächlich kopmiliert wird, jeweils andere Programm und Komponentenpfade haben.

Ich hab in meiner compile.cmd Datei mal ausprobiert BDS zu setzen:
Code:
SET BDS="D:\Programme\Borland\BDS\4.0\"
dcc32.exe MPProgCore.dpk
pause
Bringt aber auch nichts.

Phoenix 16. Jan 2009 09:47

Re: Viele Projekte auf einmal kompilieren
 
Nein, der dcc32.exe kann die Variablen nicht auflösen. Leider.
ABER :)
Du kannst diese Pfade auch in der dcc32.cfg im BDS\Bin Verzeichnis setzen. Die existiert ja auf jeder maschine, und muss daher nur einmal für diese Maschine korrekt gesetzt werden.

Die Pfade der Projekte untereinander (wenn sie sich gegenseitig brauchen) sollten aber dann zwingend relativ zueinander sein.

cytrinox 16. Jan 2009 09:53

Re: Viele Projekte auf einmal kompilieren
 
Hmm nein. ich hab die Pfade mal aufgelöst, geprüft ob sie stimmen, unter Bin in die dcc32.cfg eingetragen, aber IndyCore wird immer noch nicht gefunden.

Phoenix 16. Jan 2009 10:04

Re: Viele Projekte auf einmal kompilieren
 
Trag mal den Pfad zu den Indy-DCU's in den Unit-Suchpfad ein. Nicht den Pfad zum Package in den Package-Suchpfad.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 Uhr.
Seite 1 von 2  1 2      

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