var
web:TwebBrowser;
procedure TForm1.Button1Click(Sender: TObject);
begin
web:=TWebBrowser.Create(Self);
web.ParentWindow:=Self.Handle;
web.SetBounds(100,100,100,100);
web.OnDocumentComplete:=WebBrowser1DocumentComplete;
web.Navigate('http://www.qq.com/');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
// web.Destroy;
web.Free ;
end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if(web.LocationURL='http://www.qq.com/') then
begin
// web.OnDocumentComplete:=nil;
web.Free;
end;
end;
為什么在DocumentComplete事件中釋放會出錯,
而直接在Button2中點擊卻沒提示錯誤?(無論網頁是否加載完畢)
小弟不才 ,真心求教
uj5u.com熱心網友回復:
OnDocumentComplete 是頁面下載完畢執行的事件,你Free自身,會出錯的。uj5u.com熱心網友回復:
事件是從webbrowser內部觸發的,執行完還要回傳的,這時釋放可能有問題.uj5u.com熱心網友回復:
建議將webbrowser放在TPageControl的Page中,釋放Page,同時釋放webbrowser。uj5u.com熱心網友回復:
控制元件不能自殺啊轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/88752.html
標籤:語言基礎/算法/系統設計
