佚名通过本文主要向大家介绍了dll二次封装,c#封装dll,vba封装dll,dll封装,vb封装dll等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: DLL中封装ActiveXOCX,调用出错。请帮助!
描述:
解决方案1:
描述:
我有一应用,需要将一个ActiveX控件封装成一个DLL,供应用程序通过API调用使用该ActiveX的功能。
我的做法是创建了一个MFC Extension DLL(using shared MFC DLL),添加一个Form (Dialog),然后在Form上挺好入需要的ActiveX控件。然后写一些API函数,在API函数里对ActiveX控件实例进行操作。
在调用该ActiveX控件的方法时,出错:
Debug Assertion Failed!
File: winocc.cpp
Line: 345
请问有无高手知道如何解决这种ActiveX控件包装成DLL的问题?
非常感谢您的帮助!
解决方案1:
根据设计控件的经验来看,这种错误肯定是指针为NULL时的使用,窗体或者类还没有创建就进行了函数调用。
解决方案2: 修改一下dll dialog的构造函数,如CDllDlg::CDllDlg(CWnd* hWnd);
CDllDlg dlg(::AfxGetMainWnd());
你的控件要是支持 容器。
AfxEnableControlContainer()