如题,太见鬼了!
Classes.registerClass(TFrmXXX);
f :=GetClass('TFrmXXX');
if f<>nil then
begin
FindClass('TFrmXXX')
...
end;
为了测试,RegisterClass与GetClass紧连着的上下两句,GetClass后居然为nil!!
而在其它工程里就没问题,会是什么原因造成这种现象呢?太难以理解了
Classes.registerClass(TFrmXXX);
f :=GetClass('TFrmXXX');
if f<>nil then
begin
FindClass('TFrmXXX')
...
end;
为了测试,RegisterClass与GetClass紧连着的上下两句,GetClass后居然为nil!!
而在其它工程里就没问题,会是什么原因造成这种现象呢?太难以理解了
ActivateClassGroup(TControl);但是还是不知道为什么要这样,好像是注册的类所在的TRegGroup不是Activate,所以找不到注册的类,猜测跟程序中所用的控件或者引用的单元有关,在某些单元里调用RegisterClass时,把TControl及子类的所在的RegGroup的Activate变成false,导致自己写的代码中GetClass返回nil
initialization
ActivateClassGroup(TControl);注:TControl也可以换成任何一个工程中已经存在的窗体类
似乎此句是将注册表项激活,但不知道原因