Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DCC32 - findet *.dcp und *.bpl Dateien nicht (https://www.delphipraxis.net/76957-dcc32-findet-%2A-dcp-und-%2A-bpl-dateien-nicht.html)

MaBuSE 12. Sep 2006 16:14


DCC32 - findet *.dcp und *.bpl Dateien nicht
 
[edit]
Problem gelöst, hatte ein " zuviel im Pfad :-(
[/edit]

Hallo,

ich möchte ein Package compilieren, das von anderen Packages anhängig ist.
Ich verwende hierzu Delphi 7.

In der IDE habe ich folgendes Vorgehen (funktioniert).
  • Kompilieren der abhänigen Packages.
    dabei werden *.bpl Dateien in ...\PackageA\sys
    und *.dcp sowie *.dcu Dateien in ...\PackageA\lib erstellt.
  • Systempfad steht auf ...\PagageA\sys
  • Bibliothekspfad steht auf ...\PackageA\lib
  • PackageB das nun PackageA verwendet lässt sich ohne Probleme nach dem selben Muster kompilieren. :-)
    Delphi sucht die *.dcp im Bibliothekssuchpfad und die Bpl im Systemsuchpfad.
    Alle sind zufrieden.
Aber der DCC32 verhällt sich hier (mal wieder) anders :-(
Folgendes Vorgehen:
  • Kompilieren der abhänigen Packages.
    dabei werden *.bpl Dateien in ...\PackageA\sys
    und *.dcp sowie *.dcu Dateien in ...\PackageA\lib erstellt.
    (Parameter -N0 -LE und -LN)
  • Systempfad steht auf ...\PagageA\sys
  • Bibliothekspfad steht auf ...\PackageA\lib
  • PackageB das nun PackageA verwendet lässt sich nicht kompilieren. :-(
    Delphi sucht die *.dcp nicht im Bibliothekssuchpfad, sondern nur in
    • $(DELPHI)\lib
    Und die Bpl wird nicht im Systemsuchpfad, sondern nur in
    • $(DELPHI)\bin
    • C:\WINNT\System32
    • C:\WINNT\System
    • C:\WINNT
    gesucht.
Meine Frage ist nun:
  • Wo kann ich den PackageSuchpfad angeben?
    • -U ist ja nur für die Units
    • -I ist ja nur für die Include Dateien
    • -R ist ja nur für die Resourcen
    • -O ist ja nur für die Object Dateien
    • -LU macht mich auch nicht glücklich
  • Und warum wird nicht der Systempfad durchsucht?

Und Nein, ich werde nicht die *.dcp und *.bpl Dateien an die von dcc32 gewünschten Orte kopieren.

Im Moment compiliere ich statt mit dcc32 aus dem Batch heraus mit
Code:
rem funktioniert:
delphi32 /b /o%mab_COMPILER_LOG% %mab_PACKAGE%
statt mit meinem Favorit
Code:
rem funktioniert nicht:
dcc32.exe %mab_param% %mab_I% %mab_U% %mab_R% %mab_N0% %mab_LE% %mab_LN% %mab_PACKAGE%
Für sachdienliche Hinweise bedanke ich mich schon mal im Voraus :dp:

Vielen Dank.

jbg 12. Sep 2006 16:44

Re: DCC32 - findet *.dcp und *.bpl Dateien nicht
 
.dcp Dateien werden in den -U Pfaden gesucht. Es gibt jedoch eine Einschränkung: Die IDE darf dabei nicht laufen, da dcc32.exe sonst keinen exklusiven Zugriff auf die rtl.dcp Datei erhalten kann und dir ein "Bibliothek rtl.dcp wurde nicht gefunden" an den Kopf wirft. Mir Filemon (SysInternals) sieht man aber was genau passiert, nämlich dass das exklusive Öffnen der Datei schief geht.

MaBuSE 13. Sep 2006 08:45

Re: DCC32 - findet *.dcp und *.bpl Dateien nicht
 
Zitat:

Zitat von jbg
.dcp Dateien werden in den -U Pfaden gesucht. Es gibt jedoch eine Einschränkung: Die IDE darf dabei nicht laufen, da dcc32.exe sonst keinen exklusiven Zugriff auf die rtl.dcp Datei erhalten kann und dir ein "Bibliothek rtl.dcp wurde nicht gefunden" an den Kopf wirft. Mir Filemon (SysInternals) sieht man aber was genau passiert, nämlich dass das exklusive Öffnen der Datei schief geht.

Das dachte ich auch immer. Meine infos habe ich aus FileMon ;-)

Ich habe den Fehler gefunden und traue es mich gar nicht zu sagen. :-(

Ich habe im -U Parameter ein " zum Begin aber keines am Ende. Daran hat sich der Compiler gestört, da er somit mehrere Parameter falsch interpretiert hat. :-(

Es läuft so wie ich es auch schon geschrieben hatte.

-U = Bibliothekspfad = Suchpfad für *.dcu und *.dcp
Der dcc32 benötigt zum Kompilieren der Package die bpl Dateien nicht, er hat in meinem Fall wohl nur danach gesucht, da er die *.dcp nicht gefunden hatte. Hierzu wurde dann aber nicht der Systempfad verwendet.

Danke nochmal für die Antwort.

-> Problem gelöst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 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-2025 by Thomas Breitkreuz