我有一个应用程序和一个dll,都是用Delphi 2006编写的。
我有一个来自基类的类,并覆盖了几个虚方法。
该类通过导出方法传递给DLL,导出的方法只知道基类。我在DLL中调用类中的方法,不调用重写的方法。
我需要做些什么才能让它发挥作用?这是不可能的吗?
答案 0 :(得分:5)
您无法在一个模块中创建对象并在其他模块中调用其方法。按模块我的意思是.exe / .dll。
如果您希望跨越这样的边界,那么您需要使用包,COM或自由函数。软件包看起来很诱人但绑定您使用相同的编译器来处理系统中的所有软件包。如果这不是对您的限制,那么继续使用包。否则使用COM或自由函数。