在包Package里RegisterClass一个Class(TMyClass),在exe程序中却不能GetClass('TMyClass')
调试时确定已经执行了
RegisterClass(TMyClass)
我的写法:
initialization
  RegisterClass(TMyClass);
在exe程序中,我先Handle := LoadPackage('PackageName') 
确保了Handle是有值的,且我调试Package时,确定他已经执行了。
然后我MyClass := GetClass('TMyClass')
但返回的MyClass is nil

解决方案 »

  1.   

    把在初始化部分的注册换个地方试试,我看了下帮助,initialization是在单元被引用时执行的,而在包中,不知道是否执行了。或者这样测试一下:
    initialization
      RegisterClass(TMyClass);
      ShowMessage('hoho');
    看看注册的过程到底有没有执行到
      

  2.   

    http://borland.mblogger.cn/aiirii/posts/2886.aspxDynamic Loading Packages 應該是同樣的問題