AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

dcc32 erzeugt keine Units per batch

Ein Thema von user69 · begonnen am 12. Jul 2024 · letzter Beitrag vom 18. Jul 2024
Antwort Antwort
Seite 1 von 2  1 2      
user69

Registriert seit: 11. Dez 2004
114 Beiträge
 
#1

dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 10:52
Wenn ich die DCC32.exe per batch für die Erstellung einer Komponente verwende (dpk => bpl) werden keine Units erzeugt. Delphi 10.4
Wie kann ich auch die dcu units erzeugen?

Dies ist meiner x.cfg
Code:
-D"RELEASE"
-B
-Z
-U"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-O"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-I"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-R"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-LE"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32" -LN"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32" -NU"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32" -N0"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-NSSystem;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;Data.Win;Web.Win;Soap.Win;Bde;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;VCLTee;
-V
-VN
-VT
-VR
-RV
-GD
-$YD-$D+
-$L+
-$O+
-$W-
-$Y+
-$Q-
-$R-
-H+
-W+
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.483 Beiträge
 
Delphi 12 Athens
 
#2

AW: dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 11:08
Die cfg-Datei sollte nur einen Paramater pro Zeile haben. Das ist bei der gezeigten Datei aber in zwei Zeilen nicht der Fall:

Code:
...
-LE"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32" -LN"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32" -NU"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32" -N0"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
...
-$YD-$D+
...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
user69

Registriert seit: 11. Dez 2004
114 Beiträge
 
#3

AW: dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 11:25
Ok, das habe ich behoben. Es ändert aber leider nichts an der Tatsache, dass mir die DCUs noch fehlen.

Code:
-D"RELEASE"
-B
-Z
-U"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-O"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-I"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-R"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-LE"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-LN"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-NU"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-N0"d:\__TestSpace\___Coding\DPKs\2023.2.5\Lib\Win32"
-NSSystem;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;Data.Win;Web.Win;Soap.Win;Bde;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;VCLTee;
-V
-VN
-VT
-VR
-RV
-GD
-$YD
-$D+
-$L+
-$O+
-$W-
-$Y+
-$Q-
-$R-
-H+
-W+
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.483 Beiträge
 
Delphi 12 Athens
 
#4

AW: dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 11:37
Sollte das -N0 nicht ein -NO sein?
Protokolliere doch mal die Konsolen-Ausgaben beim Batch-Aufruf in eine Datei.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.662 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 11:39
Du schreibst, dass es um Delphi 10.4 geht. Warum verwendest du nicht einfach msbuild?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 11:40
Mach es dir einfach und nutze MSBuild.
Das verwendet dann die Einstellungen aus deinen Projektoptionen.
Code:
call "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\rsvars.bat"
msbuild "C:\Codes\deinProjekt.dproj"
bzw. unabhängig davon, was zuletzt im Projektmanager gewählt war, alles neu erzeugen, mit dem gewünschten Profil.
Code:
call "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\rsvars.bat"
msbuild /p:Config=Release /p:Platform=Win32 /t:Build "C:\Codes\deinProjekt.dproj"

Und natürlich lassen sich auch viele andere Optionen notfalls überschreiben.
Dafür einfach mal in die DPROJ schauen, also in den <PropertyGroup> die untergeordneten Werte, als Property /p:name=wert.
Code:
call "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\rsvars.bat"
msbuild /p:Config=Release /p:Platform=Win32 /t:Build /p:DCC_ExeOutput="C:\Codes\Ausgabe" "C:\Codes\Projekt1\deinProjekt.dproj"
Geht natürlich auch mit relativen Pfaden.
Code:
cd /d "C:\Codes"
call "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\rsvars.bat"
msbuild /p:Config=Release /p:Platform=Win32 /t:Build /p:DCC_ExeOutput=.\Ausgabe .\Projekt1\deinProjekt.dproj
Code:
cd /d "C:\Codes\Projekt1"
call "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\rsvars.bat"
msbuild /p:Config=Release /p:Platform=Win32 /t:Build /p:DCC_ExeOutput=..\Ausgabe deinProjekt.dproj
$2B or not $2B

Geändert von himitsu (12. Jul 2024 um 11:49 Uhr)
  Mit Zitat antworten Zitat
user69

Registriert seit: 11. Dez 2004
114 Beiträge
 
#7

AW: dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 11:59
Ich nutze dies um die FastReport dpks zu kompilieren. Projects existieren da nicht, also fällt wohl msbuild weg.
Dazu hab ich die DevExpressCompiler.dpr von himitsu modifiziert.
Grundlegend klappt das auch, ich bekomm nur niemals die DCU Datei. Alles andere ist ok.

N0 habe ich mal in NO geändert, aber das bewirkt nichts. (N0 war wohl früher mal der switch für das DCU Verzeichnis).

Auch auch unter user/public/Emba... finde ich die DCUs nicht. Auch nicht unter aktuellem user.

Hier die Consolen Ausgabe (wo das Menus\bpl\ herkommt weiß ich gar nicht):
Der Befehl "Menus\bpl\" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Embarcadero Delphi for Win32 compiler version 34.0
Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
48 Zeilen, 0.19 Sekunden, 10624 Byte-Code, 208 Byte-Daten.
EXITCODE: 0

Geändert von user69 (12. Jul 2024 um 12:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 12:19
Im FinalBuilder gibt es auch eine Delphi-Action.

Die nutzen wir aktuell nur noch für Fremdkomponenten.
Die eigenen Projekte sind auf die MSBuild-Action umgestellt.

Wobei ich irgendwann diese Acitions gern ersetzen und durch Scriptaufrufe (manuell den DCC und MSBuild ausgerührt) umstellen wöllte, da man für neue Delphi-Versionen immer erst auf VSoft warten und dann den neuen FinaBuilder kaufen muß, weil die Versionsauswahl im FB hart eingebaut ist.

Witzig ist aber, dass man mit DCC auch einzelne PAS zu DCU vorkompilieren kann und später für das Kompilieren von Projekten vorzubereiten.
Unser FinalBuilder kompiliert multithreaded mehrere Projekte und bei gemeinsamen Units knallt es gern, wenn es der selbe DCU-Ausgabepfad ist.




ABER, du kannst dir bei der Delphi-Action das "keep CFG" aktivieren,
dann löschte der seine erzeugte .CFG nicht, sondern benennts sie nur in .USED um
und schon kannst du dort abgucken, was der FinalBuilder sich baut.

Und wenn du im Delphi kompilierst, dann schau dir mal das Log an, also im Tab "Erzeugen" die "dcc32 Befehlszeile" aufklappen ... dort findest du auch die entsprechenden DCC-Parameter.
(ob via Parameter oder in CFG ist das Gleiche ... in CFG einfach nur ein Parameter je Zeile)


Wo kommt was her: siehe ProcessExplorer von SysInternals. (ich hatte auch mal ein Projekt angefangen, um mich ans HighPerformaneLog vom Windows zu hängen ... da bekommt man super alle Schreib und Lesezugriffe mit, welche ich dann schön übersichtlich zusammenfassen wollte, aber das hängt bissl ... wohingegen der ProcessExplorer hier einen FilterTreiber ins Windows prügelt)
$2B or not $2B

Geändert von himitsu (12. Jul 2024 um 12:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.662 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: dcc32 erzeugt keine Units per batch

  Alt 12. Jul 2024, 13:51
Ich nutze dies um die FastReport dpks zu kompilieren. Projects existieren da nicht, also fällt wohl msbuild weg.
Dafür mmusst du die einfach einmal in Delphi öffnen, habe ich auch so gemacht...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
user69

Registriert seit: 11. Dez 2004
114 Beiträge
 
#10

AW: dcc32 erzeugt keine Units per batch

  Alt 13. Jul 2024, 15:33
OK, das Problem ist gefunden. Nun funktioniert es super. DPLs, DCPs und DCUs werden alle neu erzeugt.

Echt dummer Fehler: Ich hatte keinen SearchPath für die Source files gesetzt. Dadurch wurden keine DCUs erzeugt (wie auch).
Die BPLs wurden dann trotzdem erzeugt, da die alten DCUs gefunden wurden.

MSBuild:
Das wäre mir zu aufwändig erst alle Projects zu erzeugen (und dann zu sortieren), zumal es auch ohne problemlos geht.

Nun muss ich "nur" noch die Komponenten automatisch installieren und Pfade setzen.

Kann mir da noch jemand eine Tip geben wie das richtig geht?
Für die Komponenten installieren kann ich das wohl in der Registry unter [HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Kn own Packages]
einfach machen:
"C:\\Program Files (x86)\\Fast Reports\\2023.2.5\\Sources\\LibRS27\\VCL\\Win32\\d clfrCoreLibrary27.bpl"="FastCore VCL Library by Fast Reports Inc"

Wo genau setzte ich aber dann die Suchpfade?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 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 by Thomas Breitkreuz