我作了一个项目组projectgroup1,里面有一个program.exe可执行程序和一个package1.bpl包,然后一块编译。因为程序的开放性要求,主程序program.exe和package1.bpl在发布后就不再修改和扩展,二次开发人员只能通过package2.bpl进行扩展,所以在package1.bpl定义了一些类和函数,封装在package1.bpl里面供二次开发人员使用。
在这个package1.bpl包里面定义了一个类Twin=class(Tform),然后在这个包里面定义一个函数crewin,这个函数就是根据Twin生成一个实例的函数,就是Twin.create()这个样子。
编译通过。
然后再另外建一个包package2.bpl,这个包是在另外一个项目里的,不是跟projectgroup1一块的。在package2.bpl里面的requires 里面增加package1.bpl,在package2.bpl的里面一个单元unit1里面调用函数crewin,然后编译成功。
在程序program.exe里面loadpackage package2.bpl,这个已经测试多次是成功的。
运行程序program.exe,当运行到调用crewin的时候,出现错误:Resource Twin not found。怎么好像是找不到类Twin。如果我在Twin定义的包package1的相应单元里面增加(根据网络上的资料说的):
initialization
    RegisterClass(Twin);
finalization
    UnRegisterClass(Twin);
再编译再运行,还是一样的问题啊。请问到底要怎么个用法?