Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Package manuell laden (https://www.delphipraxis.net/168098-package-manuell-laden.html)

gargano 4. Mai 2012 16:07

Package manuell laden
 
Hallo zusammen,

ich habe hier ein Problem mit Packages:
Ich habe 2 Packages die beide unter anderm die gleiche Unit verwenden. (Also unter enthält)
Wenn ich jetzt beide Packages lade, kommt klarerweise die Fehlermeldung, das dieses Package schon geladen ist.

Deshalb habe ich es als dcp unter erfordert eingebunden.Jetzt geht auch das Laden der 2 Packages.
Jedoch kann ich nicht mehr in den Packages debuggen.

Gibt es da eine Lösung fürs debuggen.

Gruß
Gargano

shmia 4. Mai 2012 16:15

AW: Package manuell laden
 
Zitat:

Zitat von gargano (Beitrag 1164901)
Ich habe 2 Packages die beide unter anderm die gleiche Unit verwenden. (Also unter enthält)

Diese Unit muss wiederum in ein eigenes Package, dass dann von deinem beiden Packages als Runtime-Package eingebunden wird.

Delphi Packages sind leider nur halbgar umgesetzt.
Wenn man in einer Anwendung Packages einsetzt, dann muss man überall Packages verwenden.
Man ist auch gezwungen die VCL-Packages zu verwenden, weil man anderfalls dupplizierten Code hat.
Delphi Packages waren die Vorstufe zu .NET Assemblies; erst unter .NET funktioniert es richtig.

gargano 4. Mai 2012 16:24

AW: Package manuell laden
 
Hallo smia,
das ganze ist wieder mit dem DeviceTreibern zu sehen ( schon mit Dir diskutiert)

Jetzt geht es darum diese Treiber zu laden.
Das BasePackage hab ich ja in einem eigenen Package eingebunden.

Basepackage enthält nur BaseUnit.
GemDevice1Package enthält GemDeviceUnit1 und erfordert Basepackage
GemDevice2Package enthält GemDeviceUnit2 und erfordert Basepackage

Soweit so gut.
Doch ich kann es nicht in dem Package GemDeviceUnit1 oder 2 debuggen (Kein Haltepunkt noch sonstwas)

Gruß
Gargano

shmia 4. Mai 2012 16:42

AW: Package manuell laden
 
Wenn du keinen Breakpoint in der Baseunit setzen kannst, dann kann es manchmal auch daran liegen, dass die Delphi IDE die Symboltabelle nicht finden kann.

Lade deine Packages und laufe auf einen Breakpoint im Hauptprogramm.
Dann Ansicht -> Debugfenster -> Module (Strg+Alt+M) aufrufen und nach deinem BasePackage in der Liste suchen.
Rechter Mausklick auf "Symboltabelle neu laden..." und den absoluten Pfad zum Packages angeben.

Das Problem ist wohl, dass die IDE nur den Namen der DLL/BPL hat, aber nicht den vollen Pfad.
Wenn die DLL/BPL dann nicht im aktuellen Verzeichnis gefunden wird, kann die Symboltabelle nicht geladen werden.
So war's bei D5 und wahrscheinlich auch bei neueren Delphi Versionen.


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