我跟随Rudy Velthuis的一篇优秀文章,了解如何在DLL中使用C++类。一切都很顺利,除了我需要访问一些没有对应工厂的类。我该如何在DLL中构造一个类的实例?所涉及的类被定义为:
现在没有工厂,我没有明确的方法来实例化这个类,但我知道它是可以做到的,因为我看过 SWIG 脚本(.i文件),让这些类可用于 Python。如果 Python&SWIG 可以做到,那么我认为/希望在 Delphi 中也有一些方法可以实现它。
class __declspec(dllexport) exampleClass
{
public:
void foo();
};
现在没有工厂,我没有明确的方法来实例化这个类,但我知道它是可以做到的,因为我看过 SWIG 脚本(.i文件),让这些类可用于 Python。如果 Python&SWIG 可以做到,那么我认为/希望在 Delphi 中也有一些方法可以实现它。
现在我不太了解 SWIG,但它似乎生成了某种 C++ 混合名称的映射?这大概是对的吗?看着 DLL 的导出项,我想我可以通过索引或直接使用混合名称来访问函数和构造函数/析构函数,但那会很糟糕;而且它甚至能工作吗?即使我能调用构造函数,如何在 Delphi 中做到类似于 "new CClass();"?