掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Webbrowserで途中で停止したときの解除方法は (ID:44645)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
皆様よろしくお願いします。環境はWindows7 Delphi 6 Personalです。 質問(やろうとしていること)タブブラウザを作成しています。 非常にごくまれに、サイトを読み込もうとして途中で止まってしまって、ロックします。Xボタンしか効かず再起動することになります。(決まったURLは有りません) このロックを再起動しないで解除あるいは回避できれば、助かるのですが、具体的なコードが解りません。 教えて頂けないでしょうか。 サイトを探したのですが、原因がわからないので有効な情報も得られませんでした。 ただOnDownloadBegin、onDocumentCompleteの項目に下記のようなことが書いてあるので すがこのような処理をすればダウンロードが途中でエラーになっても、停止できる と書いてあるのではと想像するわけです。 http://docwiki.embarcadero.com/Libraries/XE2/ja/SHDocVw.TWebBrowser.OnDownloadComplete 説明文「OnDownloadComplete イベントハンドラを記述すると,Web ブラウザがダウンロード処理を停止した後に特定のアクションを実行できます。たとえば OnDownloadComplete イベントを使用すると,OnDownloadBegin イベントハンドラ内で開始されたダウンロード指示を停止できます。」 もしかして私が探している処理なのかなと思うのですが高度すぎで意味がわかりません。 具体的にどのようなコードを書けばよいのでしょうか。 よろしくお願いします。 type TIETabSheet = class(TTabSheet) private procedure WebBrowser1TitleChange(Sender: TObject;const Text: WideString); procedure WebBrowser1DownloadBegin(Sender: TObject); procedure WebBrowser1DownloadComplete(Sender: TObject); public WebBrowser1 : TWebBrowser; constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; TForm1 = class(TForm) BtnNavigate: TButton; EditURL: TComboBox; PageControl1: TPageControl; Panel1: TPanel; procedure BtnNavigateClick(Sender: TObject); procedure FormCreate(Sender: TObject); ・・・・・ { TIETabSheet } procedure TIETabSheet.WebBrowser1TitleChange(Sender: TObject;const Text: WideString); begin Caption:= Text; end; procedure TIETabSheet.WebBrowser1DownloadBegin(Sender: TObject); begin //ダウンロードを停止できる?? end; procedure TIETabSheet.WebBrowser1DownloadComplete(Sender: TObject); begin //途中でエラーが起きたら?? end; constructor TIETabSheet.Create(AOwner: TComponent); begin inherited; WebBrowser1 := TWebBrowser.Create(self); TOleControl(WebBrowser1).Parent := Self; WebBrowser1.Align := alClient; WebBrowser1.OnTitleChange := WebBrowser1TitleChange; WebBrowser1.OnDownloadBegin := WebBrowser1DownloadBegin; WebBrowser1.OnDownloadComplete := WebBrowser1DownloadComplete; end; destructor TIETabSheet.Destroy; begin WebBrowser1.Free; inherited; end; { TForm1 } procedure TForm1.BtnNavigateClick(Sender: TObject); var IETab:TIETabSheet; begin IETab := TIETabSheet.Create(PageControl1); IETab.Parent := PageControl1; IETab.PageControl := PageControl1; PageControl1.ActivePage := TTabSheet(IETab); IETab.WebBrowser1.Navigate(EditURL.Text); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.