在TE_DataCntFInitialization
 RegisterClass(TE_DataCntF);
Finalization
 UnRegisterClass(TE_DataCntF);   在main 中FindClass('TE_DataCntF')  却提示找不到 TE_DataCntF

解决方案 »

  1.   

    Classes.RegisterClass(TE_DataCntF); 
      

  2.   

    调用和声明的是在同一个package或exe中吗?
      

  3.   

    TE_DataCntF是怎么定义的?需要的是在同一个模块或者叫模块实例当中,或者更准确的应该是注册和使用者都使用的同一个RegGroups(Classes单元当中定义的全局变量),如果是多个实例,则需要保证FindClass要在RegisterClass所在的模块实例当中去执行。
      

  4.   

    如果你不清楚是不是在同一个模块实例当中的话,可以记录一下日志
    比如RegisterClass(TE_DataCntF);下面添加一行Log('Register TE_DataCntF Instance='+IntToStr(LongWord(HInstance)));var
      PC: TPersistentClass;
    begin
      PC := FindClass('TE_DataCntF');
      if PC = Nil then begin
        Log('No found TE_DataCntF Instance='+IntToStr(LongWord(HInstance)));
      end;
    end;
      

  5.   

    建议还是先记个日志吧。我说的同一个模块不是说同一个单元,而是说比如同在一个.exe或者.dll或者.bpl当中的代码。
      

  6.   


    -----日志 现示的 也是相同 HInstance
      

  7.   

    RegisterClass 成不成功,什样知道