佚名通过本文主要向大家介绍了vc ocx,vc ocx控件,vc调用ocx控件,vc调用c#ocx控件,vc调用ocx等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 菜鸟问题,OCX与VC动静态库的关系及动态创建使用
描述:
解决方案1:
描述:
小弟套用别人的ocx(VC6.0,ocx已经注册并加载到VC的控件面板中)将其从控件面板中拖到基本对话框中,不进行任何操作,一测试VC上来就报Unhandled exception in text.exe(MFC420.DLL):0xC0000005:Access Violation这个错误,如果创建工程时我把MFC动态库变成静态库,在测试就没有这个错误了。请问高手这是什么原因,如何解决?
还有如何动态创建并操作OCX控件的实例呢(不用控件面板托出控件)?我在代码中用ocx的类创建了一个实例,不从控件面板中托出控件,测试时不报错误。但是如何处理EVENT事件的相应呢?原来是BEGIN_EVENTSINK_MAP中添与事件对应的响应函数。可如果不从控件面板中托出来,没有IDC标识(ON_EVENT(CMy4Dlg, IDC_HelloCTRL1, 9 ... ...)那怎么办呢?
解决方案1:
动态库做的OCX控件在其他机器上就是很难通过,必须用静态库创建才可以在别的机器上运行。反正我是每次都弄成静态的,动态的估计是有什么动态连接文件没有添加到OCX控件,而是直接从系统中调用的,这样你在自己机器上能运行的在其他机器上就找不到链接文件了吧。而静态库就直接在创建是将它所要的所有文件都加载到控件里了。我是这么认为的。呵呵。