Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Problem mit GetClass in stat. App bei dyn. geladenen Pac

  Alt 10. Mär 2009, 14:22
Hallo,

ich kämpfe gerade mit dem gleichen Problem. Nachdem ich wie von MaBuSE beschrieben die Laufzeitpackages aktiviert haben klappt bei mir GetClass für die angegebene Klasse. Dabei taucht gedoch ein anderes Problem auf.

Meine Fensterklasse ist von einer eigenen Basisklasse abgeleitet. Deren Vorfahre ist TForm. Diese Basisklasse liegt wieder in einem eigenen Package.
Ich kann das Package mit meiner neuen Fensterklasse laden und auch das Fenster erstellen. Klappt soweit alles. Wenn ich jetzt aber eine Prüfung mittels is auf den Vorfahren mache liefert dies False zurück. Meine Vorfahrenklasse ist registriert (hab ich geprüft).

Hier noch mal die Hierarchie:

TMyBaseForm (liegt in BasePackage und ist mittels RegisterClass registriert)
TMySpecialForm = class(TMyBaseForm) (liegt in SpecialPackage und ist registriert)

Anwendung lädt Specialpackage mittels LoadPackage und kreiert AForm vom Typ TMySpecialForm.
Typprüfung schlägt fehl:
Delphi-Quellcode:
if AForm is TMyBaseForm then
  ....
Warum das jetzt? Ich habe andere Formulare in meiner Anwendung die auch den Vorfahren TMyBaseForm besitzen. Diese sind im Projekt der Anwendung eingebunden. Eine Prüfung auf TMyBaseForm funzt da ohne Probleme. Nur halt bei den geladenen nicht.

Gruß oki
42
  Mit Zitat antworten Zitat