☆WebBrowserでHTMLな文字列を直接表示させる。
WebBrowserで、一時ファイルを使わずに、HTMLを直接表示させるには、次のような処理をしていました。
CSSを指定する必要もなく常に新規ウィンドウで表示させていたので、特に問題がなかったのですが、時々
target="_blank"を書き忘れたりして、OLEエラーが発生していました。
フラグを立てて、プログラム側から設定した文字列以外は読み込まないようにすれば問題ないかも知れませんが、次のリンク先にあるコードを使って解決しました。
about.com Delphi Programming
How to load HTML directly to a WebBrowser
//HTMLのリンク先が同じウィンドウで開くときに問題のあるコード //って、使ってたんですけど(^^; uses ActiveX, MSHTML; procedure TForm1.Button1Click(Sender: TObject); begin WebBrowser1.Navigate('about:blank'); end; procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant); begin (WebBrowser1.Document as IHTMLDocument2).body.innerHTML := '<a href="http://hiderin.air-nifty.com/delphi/"' + ' target="_blank">delphi-fan</a>'; end;
フラグを立てて、プログラム側から設定した文字列以外は読み込まないようにすれば問題ないかも知れませんが、次のリンク先にあるコードを使って解決しました。
about.com Delphi Programming
How to load HTML directly to a WebBrowser
| 固定リンク