Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Ich krieg die Krise - werde altes Package nicht los?! (https://www.delphipraxis.net/178424-ich-krieg-die-krise-werde-altes-package-nicht-los.html)

Moehre 7. Jan 2014 16:32

Ich krieg die Krise - werde altes Package nicht los?!
 
Hallöchen! Ich bin grade dabei, Sourcen von XE2 auf XE5 umzumodeln - sollte ja eigentlich nicht soo schwer sein dachte ich, aber denkste:

In den XE2 Projekten habe ich die JEDI JCL benutzt; in den neuen Sourcen aber darauf verzichtet (die 2 Aufrufe habe ich manuell gelöst). Wenn ich jetzt das Projekt compiliere klappt alles ohne Fehler. Ein eigenes Package wird neben den ODAC Packages mit eingebunden. Wenn ich jetzt die EXE starte, kommt die Meldung "JCL160.bpl konnte nicht gefunden werden" - klar, die exisitert ja auch nicht und wird auch nicht verwendet! Sie steht weder in den einzubindenden Laufzeitpackages, noch in der Package-Liste aller installierten Packages. Ich habe alle Dateien des Projects teilweise im Editor (soweit möglich) nach einem Verweis auf JCL160 durcchsucht, aber nix gefunden.

Gibt es eine Möglichkeit, wenigstens rauszukriegen, wo ein Verweis auf dieses Package stehen könnte?

Ach ja, noch ein besonderes Schmankerl: wenn ich das Project ohne Laufzeitpackages in der IDE starten will, wird alles brav ohne Fehler compiliert und danach passiert nix mehr, aber ohne Fehlermeldung?!

In der "Info" Anzeige werden nur die mir bekannten (und auch verwendeten) Packages angezeigt aber nicht das JCL160 dingen - ich suche schon den ganzen Tag rum und werd langsam PORÖS :cyclops:

Weiss jemand Rat?

Thx
Moehre

stahli 7. Jan 2014 18:01

AW: Ich krieg die Krise - werde altes Package nicht los?!
 
Nur zwei generelle Tipps (weiß nicht, ob das etwas bringt)
- Projekt bereinigen versuchen
- benötigte Packages prüfen und ggf. bereinigen

Moehre 7. Jan 2014 18:18

AW: Ich krieg die Krise - werde altes Package nicht los?!
 
Naja, das habe ich ja alles schon gemacht - es gibt nirgends einen Verweis auf die JCL160 und ich kriege einfach nicht raus, wieso XE5 das Dingen ungebingt laden will ?!

Vielleicht kennt ja jemand ein Tool, daß eine Analyse der Abhängigkeiten durchführt und aufzeigt, wo der Verweis auf die JCL160 steckt?!

Gruss
Moehre

jaenicke 7. Jan 2014 19:15

AW: Ich krieg die Krise - werde altes Package nicht los?!
 
Du könntest versuchen den Process Monitor zu nehmen und zu schauen welche Packages vorher geladen werden. Eventuell ist dieses Package in dem zuletzt zugegriffenen Package eingebunden.

Auch der Stacktrace im Process Explorer könnte evtl. helfen, aber da bin ich nicht so sicher.

Du müsstest in beiden Tools jedenfalls schauen, wenn die Meldung angezeigt wird. Im Process Monitor was direkt vorher passiert ist, im Process Explorer nach den Stacktraces, ob da ein Package drin steht, das das andere lädt.

nahpets 7. Jan 2014 20:10

AW: Ich krieg die Krise - werde altes Package nicht los?!
 
Bei Delphi 7 hat mir bei so 'nem Problem öfter geholfen, alle DCU's zu löschen und dann das Projekt neu zu erstellen, nur neu kompilieren reicht da nicht unbedingt.

Alle meine Projekte legen (inzwischen) ihre DCU's in ein einziges Verzeichnis. Wenn mal ein Projekt rumzickt, wird dieses Verzeichnis geleert, danach muss der Kompiler halt mal etwas mehr arbeiten, aber nicht nachvollziehbare Abhängigkeiten bekomme ich so umgangen.

jaenicke 7. Jan 2014 20:15

AW: Ich krieg die Krise - werde altes Package nicht los?!
 
Zitat:

Zitat von nahpets (Beitrag 1242615)
Alle meine Projekte legen (inzwischen) ihre DCU's in ein einziges Verzeichnis.

Solange darin keine IFDEFs genutzt werden geht das auch...
Wir haben ein DCU-Verzeichnis pro Projekt bei den größeren Projekten, bei denen es globale Direktiven in den Projektoptionen gibt.


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