怎样利用MFC创建VB能引用的DLL方法
2003-06-18 13:47
513 查看
我们在使用MFC写DLL文件后,无法在VB工程(Project)的References中查找到并引用它,即无法使用Dim s As New class 或 Dim s As class, Set s = New class方式使用。
下面解释怎样利用MFC创建VB能引用的DLL方法,其步骤:
(1)选择MFC AppWizard (dll)创建新工程;(比如:DlgTest.dll)
(2)选择Regular DLL with MFC statically linked 并选择Automation;
(3)创建MFC Class 其Base class为CCmdTarget且选中Automation;(假设类名为Dlg)
(4)修改DlgTest.def文件中的:LIBRARY "DlgTest.dll" (修改)DllUnregisterServer PRIVATE(添加);
(5)在DlgTest.odl文件中添加dll文件在vb引用中浏览显示的内容(可选)
[uuid(........), version(1.0), helpstring("My test contents ...")]
(6)在构造和析构函数内添加下列代码:
CDlg::Dlg() CDlg::~Dlg()
{ {
AfxOleLockApp(); AfxOleUnlockApp();
} }
(7)注释掉OnFinalRelease函数中的CCmdTarget::OnFinalRelease(),添加delete this;
(8)在Dlg.cpp文件中添加下列代码(有下划线、紫色的代码)
BEGIN_MESSAGE_MAP(CDlg, CCmdTarget)
............
END_MESSAGE_MAP()
IMPLEMENT_OLECREATE(CDlg, "DlgTest.Dlg", ClassGuid Value)
ClassGuid Value为.odl文件中的coclass处的uuid值
(9)在Dlg.h文件中,添加下列下划线、紫色的代码
DECLARE_MESSAGE_MAP()
DECLARE_OLECREATE(CDlg)
下面解释怎样利用MFC创建VB能引用的DLL方法,其步骤:
(1)选择MFC AppWizard (dll)创建新工程;(比如:DlgTest.dll)
(2)选择Regular DLL with MFC statically linked 并选择Automation;
(3)创建MFC Class 其Base class为CCmdTarget且选中Automation;(假设类名为Dlg)
(4)修改DlgTest.def文件中的:LIBRARY "DlgTest.dll" (修改)DllUnregisterServer PRIVATE(添加);
(5)在DlgTest.odl文件中添加dll文件在vb引用中浏览显示的内容(可选)
[uuid(........), version(1.0), helpstring("My test contents ...")]
(6)在构造和析构函数内添加下列代码:
CDlg::Dlg() CDlg::~Dlg()
{ {
AfxOleLockApp(); AfxOleUnlockApp();
} }
(7)注释掉OnFinalRelease函数中的CCmdTarget::OnFinalRelease(),添加delete this;
(8)在Dlg.cpp文件中添加下列代码(有下划线、紫色的代码)
BEGIN_MESSAGE_MAP(CDlg, CCmdTarget)
............
END_MESSAGE_MAP()
IMPLEMENT_OLECREATE(CDlg, "DlgTest.Dlg", ClassGuid Value)
ClassGuid Value为.odl文件中的coclass处的uuid值
(9)在Dlg.h文件中,添加下列下划线、紫色的代码
DECLARE_MESSAGE_MAP()
DECLARE_OLECREATE(CDlg)
相关文章推荐
- DLL两种常用的创建和引用方法
- VB创建ActiveX dll 的COM服务器,VC调用VB COM方法
- MFC创建动态链接库DLL并调用方法详解
- Access 、Excel、Word中的VBA引用C#或VB.Net创建的DLL
- 在VS2012中创建一个MFC动态链接项目(.dll)后,编译出现一大堆莫名其妙的错误的解决方法
- 在VB.NET中 用代码 利用SQL语句创建数据库、表、存储过程、视图、索引、规则、修改表、查看数据等的方法
- MFC中,我从一个对话框,同时在按钮的消息处理函数中利用DoModal()函数一级一级的创建许多模态对话框,那么怎样从某个子对话框返回第一个对话框呢?
- MFC基础知识(九)——几种创建DLL动态库的方法
- vc 创建非mfc dll方法
- 利用VB开发DLL的方法
- Android创建Menu菜单的一种方法:利用MenuInflater-2014年12月3日
- 利用MFC进行开发的通用方法介绍
- 怎样使用MFC创建一个窗口类
- QT创建与调用Dll方法(包括类成员)--显式调用
- 怎样定义和引用Mfc 全局变量
- 基于MFC的dll中添加DllMain函数,编译时产生_DllMain@12 已经在 XXX.obj 中定义的解决方法
- 利用DataSet的Fill方法实现DataList的分页技术(vb.net)
- 创建可以输出函数的DLL-vb教程
- 在DLL中产生对话框的方法二(MFC Regular DLL)
- VC中DLL的创建及调用方法