CppWebBrowser神秘的失踪了

qin_wei 2002-12-18 11:42:52
这个问题的答案可能很简单,但我卡在这里了,怎么也找不到毛病。
void __fastcall TForm1::CppWebBrowser1NewWindow2(TObject *Sender,
LPDISPATCH *ppDisp, TOLEBOOL *Cancel)
{
*ppDisp = CppWebBrowser2->Application;
}
在CppWebBrowser1的newwindow2事件中指定弹出web页到CppWebBrowser2中,有时候正常,但为什么有时候CppWebBrowser2连同那个网页神秘的失踪了?我并没有让网页close啊,不知道大家有没有碰到这样的问题。
...全文
118 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qin_wei 2002-12-19
  • 打赏
  • 举报
回复
是啊,这个毛病是不总出现,但10次里能有一次,而且新打开的是同一个网页,但这一次就致命了。
qin_wei 2002-12-19
  • 打赏
  • 举报
回复
好象是window.close()这个代码有时候不提示是否关闭网页而直接退出,好象cppwebbrowser没有事件和关闭对应。暂时用弹出一个form的方法吧,这样损失不是很大。
qin_wei 2002-12-18
  • 打赏
  • 举报
回复
不允许发重复的帖子么?答对了我可以把两个帖子的分都给他呀。
大大怪老张 2002-12-18
  • 打赏
  • 举报
回复
自己删不掉了。

给分,让它沉下去吧。
qin_wei 2002-12-18
  • 打赏
  • 举报
回复
invalid 2002-12-18
  • 打赏
  • 举报
回复
着急也不要重复发贴啊,删除掉吧.
qin_wei 2002-12-18
  • 打赏
  • 举报
回复
我着急啊!
invalid 2002-12-18
  • 打赏
  • 举报
回复
我测试了在同一个窗体放两个Cppwebbrowser.在csdn的主页上测试.没有问题.
我想你的问题可能是因为其它什么对齐方式引起的吧.
我的测试代码(两种方式都试验了):
if(NewCB->Checked)
{
*ppDisp = CB2->Application;
}
else
{
*ppDisp=CB2->DefaultDispatch;
qin_wei 2002-12-18
  • 打赏
  • 举报
回复
to: invalid(空心菜之2.0开发中)
你提供的例子我看了,是在newwindow2事件中新创建一个窗口来打开新网页,这种方法也许不会出现我提到的毛病,但我想要的是在同一个窗口的另一个已经存在的cppwebbrowser 中打开新网页,而且DefaultDispatch接口我也实验过,还存在同样的问题。
invalid 2002-12-18
  • 打赏
  • 举报
回复
参考一下Delphi代码吧.来自超级猛料
open url in new window with custom TWebBrowser?

{
Normalerweise öffnet sich automatisch der Internet Explorer
wenn im TWebBrowser eine URL in einem neuen Fenster geöffnet wird.
Mit diesem Tip wird eine neue Instanz des eigenen Browsers
erstellt und die URL dort geöffnet.
}

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
NewWindow: TForm1;
begin
// a new instance of the form will be created
// Eine neue Instanz wird erstellt
NewWindow := TForm1.Create(self);

NewWindow.Show;
ppDisp := NewWindow.Webbrowser1.DefaultDispatch;
end;
invalid 2002-12-18
  • 打赏
  • 举报
回复
参考一下Delphi代码吧.来自超级猛料
open url in new window with custom TWebBrowser?

{
Normalerweise öffnet sich automatisch der Internet Explorer
wenn im TWebBrowser eine URL in einem neuen Fenster geöffnet wird.
Mit diesem Tip wird eine neue Instanz des eigenen Browsers
erstellt und die URL dort geöffnet.
}

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
NewWindow: TForm1;
begin
// a new instance of the form will be created
// Eine neue Instanz wird erstellt
NewWindow := TForm1.Create(self);

NewWindow.Show;
ppDisp := NewWindow.Webbrowser1.DefaultDispatch;
end;
invalid 2002-12-18
  • 打赏
  • 举报
回复
是不允许发重复帖子.我通知你,你不删除,那我删除了!

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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