在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
打开VS2008创建一个dll项目(创建了一个QT Library项目),新建头文件q4dapplication.h定义纯虚类: #ifndef Q4DAPPLICATION class Q4DApplication 新建头文件q4dapplicationimpl.h实现纯虚类: #ifndef Q4DAPPLICATIONIMPL #include <QApplication> class Q4DApplicationImpl : public Q4DApplication, private QApplication #endif 在VS项目自动生成的导出类的头文件中加入: extern "C" __declspec(dllexport) Q4DApplication* NewQ4DApplication(int argc, char **argv); 在对应的.cpp文件中加入: __declspec(dllexport) Q4DApplication* NewQ4DApplication(int argc, char **argv) 编译出DLL给Delphi调用. Delphi端导入单元如下: unit ImptQTClass; interface uses SysUtils; type TQ4DApplication = class const QTDLL = 'Q4DLibrary.dll'; function NewQ4DApplication(AArgc: Integer; AArgv: PPChar): TQ4DApplication; cdecl; function NewQ4DApplication; external QTDLL; 测试代码: var 本想尝试导出QT的GUI库给Delphi调用呢,发现QApplication创建后调用其他QWidget的Show方法有问题,估计和Delphi的Application对象冲突吧,失败了,以后在查找原因.不过感觉给Delphi导出GUI库没啥必要,纯属为了测试.可以将一些非界面相关的库导出来用,以后有空在继续吧. http://blog.csdn.net/henreash/article/details/7353063 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论