registerClass后居然无法GetClass或FindClass如题,太见鬼了!Classes.registerClass(TFrmXXX)f :GetClass
registerClass后居然无法GetClass或FindClass
如题,太见鬼了!
Classes.registerClass(TFrmXXX);
f :=GetClass('TFrmXXX');
if f<>nil then
begin
FindClass('TFrmXXX')
...
end;
为了测试,RegisterClass与GetClass紧连着的上下两句,GetClass后居然为nil!!
而在其它工程里就没问题,会是什么原因造成这种现象呢?太难以理解了
[解决办法]
在initialization注冊
[解决办法]
找到了一个办法,随便哪个单元加一个语句就可以了
initialization
ActivateClassGroup(TControl);
但是还是不知道为什么要这样,好像是注册的类所在的TRegGroup不是Activate,所以找不到注册的类,猜测跟程序中所用的控件或者引用的单元有关,在某些单元里调用RegisterClass时,把TControl及子类的所在的RegGroup的Activate变成false,导致自己写的代码中GetClass返回nil
[解决办法]
应该是注册没有成功,检查为什么注册不成功。
