MFC ActiveX控件在IE中调用问题

freezyj 2011-10-11 02:35:45
MFC ActiveX控件,插入IE后首次运行正常,数据交换也正常,但按刷新后就没数据了。由于该控件内包一控件,检查下来是在刷新后接口方法里内包控件的句柄为NULL,但在接口方法的加一句AfxMessageBox()就可以了,这是怎么回事?怎么修改?
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
freezyj 2011-10-13
  • 打赏
  • 举报
回复
我查了一下,是IE在开始加载控件时和刷新时调用接口方法和调用CDemoCtrl::OnCreate的顺序不同造成的,如果先调用CDemoCtrl::OnCreate创建内包控件,再调用接口方法就是对的。但是调用顺序的改变是网页测试代码写的不对造成的吗?我对网页的东西没用过,所以请帮我看下:
<%@LANGUAGE="JAVASCRIPT" codepage="936"%>
<%
Response.CacheControl = "no-cache"
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>

<body>
<p>
<object classid="clsid:94AE82AD-6432-4779-A9E1-5At812E062673" id="DemoCtrl1" width="971" height="493">
<param name="AlarmSymbolVisible" value="0">
<param name="Zoom" value="2">
<param name="ForeColor" value="0">
</object>

</p>
<script>
DemoCtrl1.Connect();//注:这里是调用接口方法
DemoCtrl1.Add();
</script>
</body>

</html>
是不是这段asp测试代码的问题?还是VC里要加什么特别的代码,控制IE调用时先执行OnCreate再执行方法?
96掌门师兄 2011-10-12
  • 打赏
  • 举报
回复
看看句柄是在什么地方被修改了的。
sdl2005lyx 2011-10-12
  • 打赏
  • 举报
回复
断点调试,看看到底发生的什么事情。。。。
xyhzcfxxj 2011-10-11
  • 打赏
  • 举报
回复
关注一下
tubo_true 2011-10-11
  • 打赏
  • 举报
回复
关注一下

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧