AGB  ·  Datenschutz  ·  Impressum  







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

Package kann nicht geladen werden

Ein Thema von greenmile · begonnen am 25. Mär 2010 · letzter Beitrag vom 29. Mär 2010
Antwort Antwort
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

Package kann nicht geladen werden

  Alt 25. Mär 2010, 16:55
Hallo,

ich bekomme regelmäßig beim installieren neuer Packages in D5 die Meldung "Package X kann nicht geladen werden. Es enthält die Unit Y, die auch in Package '' enthalten ist". X und Y variieren, aber bei Package steht fast immer '' was es natürlich schwer macht, den Fehler zu finden. Kennt jemand dieses Problem und weiß, wie ich es beheben kann? Ich habe schon einiges durch, also zahlreiche Komponenten rausgeworfen/neu installiert, bin "DisabledPackages" durchgegangen und bin trotzdem nicht weitergekommen ...

Paul
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Package kann nicht geladen werden

  Alt 25. Mär 2010, 17:38
Hallo Paul,

eine Unit darf nur in einem einzigen Package enthalten sein. Da Packages normalerweise unterschiedlich schnell weiterentwickelt werden, würde es ohne diese Regel zu einem Konflikt kommen, falls die Packages A und B in einem Projekt verwendet werden und beide die Unit X enthalten. Es ist in diesem Fall nicht klar, welche Version der Unit bei "uses X" im Projekt verwendet werden soll - die aus Package A oder die aus Package B?

Die Lösung sieht in der Regel so aus: entferne die Unit X aus den Packages A und B und packe sie in ein neues Package C. Dieses neue Package nimmst du anschließend in die "requires"-Klausel der Packages A und B auf. Somit gibt es nur noch eine Version der Unit X und der Konflikt ist beseitigt. Problematisch wird es erst, wenn die Units in den besagten Packages nicht identisch sind und es sich nur um eine Namensüberdeckung handelt. In diesem Fall musst du eine der beiden Units umbenennen.

Ich hoffe, diese längliche Erklärung bringt etwas Klarheit in die Sache. Nun musst du nur noch das zweite Package identifizieren, dessen Name die IDE nicht verraten will...

Gruß Hawkeye
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Package kann nicht geladen werden

  Alt 29. Mär 2010, 12:55
Vielen Dank für die ausführliche Antwort. Hast Du noch einen Tipp für mich wie ich rausfinde, welches Package ('') es betrifft? Ich suche mir ja sonst nen Wolf ...
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Package kann nicht geladen werden

  Alt 29. Mär 2010, 17:18
Paul, wenn du über die Quelltexte (*.dpk) der zu ladenden Packages verfügst, brauchst du ja "nur" in diesen nach der doppelten Unit zu suchen. Den Namen der Unit kennst du ja aus der Fehlermeldung.

Für den Fall, dass dir nur die .bpl-Dateien vorliegen, kenne ich leider keine wirklich schnelle Lösung. Wenn du mit der Console umgehen kannst, hilft dir vielleicht das Programm "tdump.exe", das sich im bin-Verzeichnis deiner Delphi-Installation befinden müsste. Mit Hilfe dieses Programms kannst du eine .bpl-Datei analysieren:

Code:
tdump.exe -ee PackageName.bpl > output.txt
In der entstehenden Datei "output.txt" kannst du anschließend nach dem Namen der doppelten Unit suchen. Auf diese Weise gehst du alle Packages durch, die von der IDE geladen werden, bis du (hoffentlich) fündig wirst.

Wenn du etwas Glück hast, findet sich noch jemand, der einen kürzeren Weg kennt.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:07 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