TWebBrowserで表示したフレームありHPの全HTMLを取得するには?

解決


こたつの季節  2004-12-12 16:55:52  No: 12259  IP: [192.*.*.*]

こんにちは。

TWebBrowserに表示されたHTMLを DocumentElement.outerHTML で
取り出すことは出来たのですが、フレームありのHPからは
すべて取り出すことが出来ません。

どなたかご教授お願いします。

編集    削除
りおりお  2004-12-12 20:29:30  No: 12260  IP: [192.*.*.*]

これがそのまんまなのでは

How To save all TWebbrowser Frame Sources? 

http://www.swissdelphicenter.ch/en/printcode.php?id=2054

編集    削除
こたつの季節  2004-12-14 01:09:42  No: 12261  IP: [192.*.*.*]

お返事ありがとうございます。
早速試してみます。

編集    削除
こたつの季節  2004-12-14 07:28:17  No: 12262  IP: [192.*.*.*]

現在試しているのですが、
OleContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enum);
の部分で、
"変数実パラメータと変数仮パラメータとは同一の型でなければなりません"
というエラーが出てしまいます。

なぜかわかりますか?
環境はdelphi6 personal + winxp home です。
ほかに何かあればおっしゃってください。

編集    削除
生兵法マスター  2004-12-16 06:42:43  No: 12263  IP: [192.*.*.*]

別のTWebBrowserを用意しておき
htmlソースから<FRAME SRC="〜〜〜">
の部分の〜〜〜を取り出して、
そこに新しくページを表示してから
もう一度HTMLソースを取得してはどうでしょうか?

編集    削除
Mr.XRAY  URL  2004-12-16 07:34:25  No: 12264  IP: [192.*.*.*]

やってみました.私のところでは実行できますね.
WindowsXP(SP1)+Delphi6 Personal(UP2)です.
ただし,コードを一部以下のようにしました.
(変更部分のみ)

      begin
        AStream.Seek(0, 0);
        sl := TStringList.Create;
        sl.LoadFromStream(AStream);
        Memo1.Lines:=sl;
        sl.Free;
      end;

TWebBrowserを使用するためのタイプライブラリの取込みは以下のページ
の手順で行いました.

http://homepage2.nifty.com/Mr_XRAY/Delphi/plWord/B_UseD6Personal.htm

編集    削除
こたつの季節  2004-12-16 22:45:11  No: 12265  IP: [192.*.*.*]

生兵法マスターさん、Mr.XRAYさん、ありがとうございます。
早速試してみたところお二人の方法共に成功しました。

解決後、どうしてもこの問題が気になっていて
調べていたのですが、uses節にActiveXやMSHTML_TLBなどを
書き込む順番が関係あるようです。

編集    削除