Ik heb (In Delphi 7) het volgende probleem. Ik maak gebruik van packages, en heb in een package een form zitten (class=TfrmTest).
In de unit behorende bij dit form heb ik de volgende code opgenomen:
Nu wil ik dit package run-time laden en het form ophalen middels de GetClass
Als ik hier een breakpoint zet, zie ik dat formclasss na de getclass op 'nil' staat, oftewel hij kon de klasse niet ophalen.
De initialization wordt wel doorlopen, de registerclass wordt uitgevoerd. Toch kan getclass 'm niet ophalen, waarom niet?
Ik gebruik alleen de VCL, geen CLX. Ik heb al getracht om via ActiveClassgroep specifiek de VCL-classes te selecteren, zonder effect.
Iemand een idee waarom dit niet werkt?
In de unit behorende bij dit form heb ik de volgende code opgenomen:
code:
1
2
| initialization RegisterClass(TfrmTest); |
Nu wil ik dit package run-time laden en het form ophalen middels de GetClass
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| functie. var oForm: TForm; formClass:TFormclass; HandlePack: HModule; Test:Variant; begin HandlePack:=LoadPackage('pktTest'); If HandlePack > 0 then begin formClass:=TFormClass(GetClass('TfrmTest')); if Assigned(formClass) then showmessage('no shit'); end; end; |
Als ik hier een breakpoint zet, zie ik dat formclasss na de getclass op 'nil' staat, oftewel hij kon de klasse niet ophalen.
De initialization wordt wel doorlopen, de registerclass wordt uitgevoerd. Toch kan getclass 'm niet ophalen, waarom niet?
Ik gebruik alleen de VCL, geen CLX. Ik heb al getracht om via ActiveClassgroep specifiek de VCL-classes te selecteren, zonder effect.
Iemand een idee waarom dit niet werkt?
[ Voor 4% gewijzigd door Verwijderd op 29-05-2004 15:56 ]