ActiveX在网页中的问题?

wzw200 2009-06-09 03:50:28
我写了一个ActiveX在测试容器里测试(点上面的按钮)没什么问题
如要我放网页里点上面的按钮 有下面的错0x00000000 指令引用的 0x00000000 内存 内存不能为 Read 要终止程序

这里为什么呢

那位能说个大概为什么吗 ?

...全文
98 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzw200 2009-06-11
  • 打赏
  • 举报
回复
结了 谢谢各位热心帮忙 给分了
wzw200 2009-06-09
  • 打赏
  • 举报
回复

void Form::Play(CString ip,int port,CString filename,int cls)
{
Ip=ip;
Port=port;
FileName=filename;
Cls=cls;

//---------------
pWnd=GetDlgItem(IDC_ANIMATE1);//得到预示窗口指针

switch(Cls)
{
case 1:
{
ConnectHandle=PL_Connect((char *)(LPCTSTR)Ip,Port);

CString abc;
abc.Format("%d",ConnectHandle);
MessageBoxA(abc);
ViewHandle=PL_OpenView((int)pWnd->m_hWnd);
PL_PlayVideo( ConnectHandle,ViewHandle);
}break;
case 2:
{
if(!IsPause)
{
ViewHandle=PL_OpenView((int)pWnd->m_hWnd);

UpdateData(TRUE);
AVIInitHandle=PL_AVIRead_Init((char *)(LPCTSTR)FileName);

}

PL_AVIRead_Play(AVIInitHandle,ViewHandle);
if(IsPause)
{
PL_AVIRead_GotoTime(AVIInitHandle,ViewHandle,AdwGotoTime*1000);
IsPause=false;
}
}break;
case 3:
{

MV_InitPlayer();
g_nHandle[2] = MV_OpenPlayer( (int)pWnd->m_hWnd); //AhWnd

nHandles[2] = MC_OpenClient( (char *)(LPCTSTR)Ip,Port);
MC_InitfCallBack( nHandles[2] ,(MFAudioCallBack)AVIAudioWriter,\
(MFVideoCallBack)AVIVideoWriter , \
(MFMediaInfoCallBack)AVIMediaInfoWriter);
MC_Start(nHandles[2]);
Sleep(100);
//AVIInitHandle=PL_AVIRead_Init((char *)(LPCTSTR)m_FileName);
MC_Play(nHandles[2] , (char *)(LPCTSTR)FileName);


}break;
}

}
oyljerry 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wzw200 的回复:]
怎么调试啊 只能找那写DLL的人了
[/Quote]
你要问一下写DLL的人,你的调用的方法是否正确,传递的参数是否正确,可以要他帮你定位这个函数PL_Connect具体哪里出错了
wzw200 2009-06-09
  • 打赏
  • 举报
回复
怎么调试啊 只能找那写DLL的人了
wzw200 2009-06-09
  • 打赏
  • 举报
回复
就是一个CString 串 和一个 int
ip "192.168.0.62"
port=4000
oyljerry 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wzw200 的回复:]
哎 调试到 04522CCF  call  dword ptr [PL_Connect (45354E4h)]  出现上面的错 不好搞啊
[/Quote]
看是否进入 PL_Connect 这个函数...
skyxie 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wzw200 的回复:]
定位到了
ConnectHandle=PL_Connect(/*(char *)(LPCTSTR)Ip*/ "192.168.0.62",/*Port*/8018);

PL_Connect(char * a,char b)
这个函数里别人的DLL加载来的
在测试容器里也没问题
到了IE就 哎 不好找啊
[/Quote]

你看看传给PL_Connect的参数 ip, port是什么值
wzw200 2009-06-09
  • 打赏
  • 举报
回复
哎 调试到 04522CCF call dword ptr [PL_Connect (45354E4h)] 出现上面的错 不好搞啊
wzw200 2009-06-09
  • 打赏
  • 举报
回复
好的 谢谢 我试试
oyljerry 2009-06-09
  • 打赏
  • 举报
回复
跟到 PL_Connect 这个里面看,用别人的DLL代码来跟踪一下...
wzw200 2009-06-09
  • 打赏
  • 举报
回复
定位到了
ConnectHandle=PL_Connect(/*(char *)(LPCTSTR)Ip*/ "192.168.0.62",/*Port*/8018);

PL_Connect(char * a,char b)
这个函数里别人的DLL加载来的
在测试容器里也没问题
到了IE就 哎 不好找啊
oyljerry 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wzw200 的回复:]
好的 谢谢楼上高人
我调试了
哎 好像不是代码的问题
是IE的问题

真不知道怎么办啊
[/Quote]
IE的问题? 先多打印一些调试信息等,不加在你的ActiveX,应该不会引起IE出问题,还是应该多定位一下你自己的代码
hendriclee 2009-06-09
  • 打赏
  • 举报
回复
学习……
wzw200 2009-06-09
  • 打赏
  • 举报
回复
好的 谢谢楼上高人
我调试了
哎 好像不是代码的问题
是IE的问题

真不知道怎么办啊
fengrx 2009-06-09
  • 打赏
  • 举报
回复
工程--属性-debugging-command,将其清除。
wzw200 2009-06-09
  • 打赏
  • 举报
回复
楼上还在吗 我在这个测试容器里测试过了

可现在 以运行 就到了测试容器里去了
你什么办法 可以回到以前的状态可以选择 process 吗
fengrx 2009-06-09
  • 打赏
  • 举报
回复
调试:
先打开IE
debug--attach to process选择IE。
打开加载此组件的页面。
skyxie 2009-06-09
  • 打赏
  • 举报
回复
这个你只能自己跟踪调试了~

3,248

社区成员

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

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