Entwickler-Ecke
Sonstiges (Delphi) - Silent Compile in Delphi 2009 ?
LonghornUser - Di 29.09.09 12:59
Titel: Silent Compile in Delphi 2009 ?
Hallo,
wie stelle ich es an, dass ich per Kommandozeile (Shellexecute, ...) ein Delphi 2009-Projekt compiled bekomme, ohne dass ich das Projekt starten lassen und von Hand F9 drücken muss ?
Vielen Dank !
Ciao LHUser
mkinzler - Di 29.09.09 13:15
Kommandozeilenversion verwenden (dcc32.exe)
Tastaro - Di 29.09.09 13:36
Aus Automatisierungsgründen hab ich das mit Delphi2007 gemacht.
Ob es mit 2009 genauso funktioniert weiß ich nicht:
In meinem Programm bau ich mir das Startkommando so zusammen:
Delphi-Quelltext
1: 2: 3:
| strStart := strDelphiPath + '\bin\bds.exe ' + strProject + ' -ns -b'; if strResultFile <> '' then strStart := strStart + ' -o' + strResultFile; |
Beste Grüße
mkinzler - Di 29.09.09 14:09
Wie gesagt, würde ich der Kommandozeilenversion des Kompilers den Vorzug geben
Tastaro - Di 29.09.09 14:17
mkinzler hat folgendes geschrieben : |
| Wie gesagt, würde ich der Kommandozeilenversion des Kompilers den Vorzug geben |
Danach wurde aber nicht gefragt.
Bei Delphi 7 hatten wir hier auch schon den Effekt, dass ein Programm das mit dem Kommandozeilencompiler erzeugt wurde sich anders verhielt als eines das mit der IDE erzeugt wurde. Warum auch immer. Mir war es damals zu dumm danach zu suchen und seitdem compilieren wir probemlos mit der IDE.
Beste Grüße
mkinzler - Di 29.09.09 17:18
Natürlich kann man immer die ganze IDE mit allen PiPaPo laden. Der schenller Weg ist aber die Kommandozeilenversion.
LonghornUser - Di 29.09.09 18:24
Vielen Dank für eure Antworten! Ich wüsste auch nicht, warum die Kommandozeilenvariante nicht funktionieren sollte.
Allerdings bin ich bei der IDE auf der sichereren Seite. Ich schaue mir das ganze morgen mal genauer an ;)
jaenicke - Mi 30.09.09 01:09
Tastaro hat folgendes geschrieben : |
| Bei Delphi 7 hatten wir hier auch schon den Effekt, dass ein Programm das mit dem Kommandozeilencompiler erzeugt wurde sich anders verhielt als eines das mit der IDE erzeugt wurde. |
Der Unterschied ist, dass die Kommandozeilenversion die Pfade nicht ausliest. Das heißt, wenn man die Pfade in der IDE anders gesetzt hat als für die Kommandozeilenversion, dann kommt auch ggf. eine andere Exe heraus.
Zudem starten die neuen IDEs nicht mehr ganz so schnell wie die von <= D7.
Ich habe hier ein kleines Projekt veröffentlicht, das automatisch die Pfade an die Kommandozeilenversion übergibt und ein Projekt kompiliert. Das müsste nur schnell für Delphi 2009 angepasst werden:
http://www.delphi-forum.de/viewtopic.php?t=41748
dummzeuch - Mi 30.09.09 21:36
LonghornUser hat folgendes geschrieben : |
wie stelle ich es an, dass ich per Kommandozeile (Shellexecute, ...) ein Delphi 2009-Projekt compiled bekomme, ohne dass ich das Projekt starten lassen und von Hand F9 drücken muss ?
|
Seit Delphi 2007 benutzt Delphi msbuild. Die .dproj-Datei ist ein Projekt fuer dieses Tool und im Startmenue gibt es einen Eintrag, der eine Kommandozeile so initialisiert aufruft, dass man mit
msbuild meinprojekt.dproj
ein Executable erzeugen kann. Das Ergebnis sollte das gleiche sein wie wenn man in der IDE compiliert, inclusive der Suchpfade und Pre- und Post-Build Events. Ich benutze das, um mittels automatischer Build-Scripte ohne die IDE zu starten ein Executable zu erzeugen.
(Sorry fuer die schwammigen Formulierungeen, ich habe gerade keine Delphi-Installation hier und auch keines meiner Build-Scripte, um das nachzusehen.)
twm
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!