嵌入网页的OCX控件,为何调用本地的dll致使IE出错????

xulate 2007-03-26 12:38:18
代码:
int CDviewerCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: 在此添加您专用的创建代码
HINSTANCE htest=NULL;
HINSTANCE hInst;
hInst=LoadLibrary("viewer.dll");//此dll会调用本地计算机上的com组件,并且产生一个WS_POPUP的窗体
typedef int (*presentPROC)(HINSTANCE hInst,HWND wndParent,HWND wndSelf,
int x,int y,int width,int height,TCHAR* filename);
presentPROC present=(presentPROC)GetProcAddress(hInst,"present");
present(htest,NULL,NULL,240,170,800,600,"aya");//aya是要显示的图形文件
FreeLibrary(hInst);
return 0;
}
是不是不应该在OnCreate函数中调用dll,还是嵌入IE中的控件无法创建 非基于IE的窗体,或者安全等级不够。
...全文
438 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xulate 2007-03-27
  • 打赏
  • 举报
回复
present已经过测试,可以在MFC下正常使用,就是不能在ActiveX中调用,我把它做成activex的接口来在网页中script调用也是不行。请大虾多多指点,小弟不胜感激,谁的好全分奉上。
能否给个类似的例子?
DentistryDoctor 2007-03-26
  • 打赏
  • 举报
回复
ocx是在ie进程的地址空间中加载的,present如果异常当然会导致IE出问题。

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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