Hallo,
ich habe zur Zeit ein neckisches Problem: es existiert ein selbstgeschriebenes Designtime-
Package das die DevExpress Bars Komponenten um einen BarButton-Typ erweitert. Dieses
Package hat bisher unter Windows 2000 und Delphi 2007 keinerlei Probleme beim Laden/Arbeiten in der
IDE gemacht. Nun habe ich einen neuen Rechner mit Windows 7 / 64 Bit aufgesetzt und dort ebenfalls unter Delphi 2007 das
Package installiert.
Wenn ich hier das
Package kompiliere und dann installiere, dann ist alles gut. Dann beende ich die
IDE und starte sie neu. Laut Packageverwaltung ist es nun auch installiert. Wenn ich es aber nun neu kompiliere und dann installieren will, bekomme ich die Meldung: '
Package d:\Develop\Shared\Delphi2007\
bpl\goDXBar.bpl kann nicht deinstalliert werden.'
Dies geht erst wieder, wenn ich in der Packageverwaltung das
Package komplett entferne.
Als weiterer Effekt tritt folgendes auf: Wenn ich eine Form habe, die eine Komponente aus dem
Package verwendet, so kann ich sie direkt nach dem Installieren des Packages auch korrekt öffnen. Start ich nun die
IDE neu und versuche ich dann anschließend die Form zu öffnen, so bekomme ich die Meldung: Fehler beim Lesen des Formulars: Klasse TGoDxBarColorButton nicht gefunden.
Sobald ich dann wieder erst das
Package wie oben entferne, neu installiere und dann die Form öffne, geht alles korrekt zu öffnen.
Was kann nun dafür die Ursache sein? Der Pfad des Packages ist in der PATH Variable des Systems enthalten, und da es ja geladen wird scheint es ja auch gefunden zu werden. Irgendwelche Ideen, wie man die Fehlerursache suchen könnte?
Danke,
Uli
Edit: so, das Problem ist gelöst: es war der
Package Cache für das OnDemandLoading von Delphi: mein
Package wurde, da nichts anderes angegeben on demand geladen. Das war anscheinend zu spät. DevExpress deaktiviert für seine Packages das onDemand mittels
ForceDemandLoadState(dlDisable) in der Register-Prozedur.
Nachdem ich das bei mir auch in die Register-Prozedur rein hab und dann
mein Package aus dem Cache gelöscht hab funktioniert es jetzt.
Und wenn noch jemand eine vernünftige Beschreibung dieses Packagecaches und der ForceDemandLoadState / EnableDemandLoadReport hat, dann her damit!
Uli