一、 首先要新建dll工程
我使用的是C++builder 2010。设置如图,具体原因并没有时间深究。
二、在项目中增加一个对话框
平时我们在 VCL Forms Application中添加窗口后我们并不用关心窗口的创建和销毁,那么问题来了,我们如何创建这个窗口?我有两种方案:
1在dll入口中调用Application->CreateForm(__classid(TForm1), &Form1)来创建。
2在dll中导出窗口类然后调用方处理窗口的创建和销毁。
下面用了 1方案。
三、在dll入口中调用Application->CreateForm(__classid(TForm1),&Form1)
四、创建显示窗口导出函数
主要代码如下(修改了默认的,在进程加载dll时触发,所以要用显式调用dll):
BOOLWINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
Application->CreateForm(__classid(TForm1),&Form1);
return 1;
}
//----------------------------------------