2

http://delphi.about.com/cs/adptips2004/a/bltip0104_4.htmからダウンロードしたコード サンプルを次に示します。

procedure WBLoadHTML(WebBrowser: TWebBrowser; HTMLCode: string) ;
var
   sl: TStringList;
   ms: TMemoryStream;
begin
   WebBrowser.Navigate('about:blank') ;
   while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
    Application.ProcessMessages;

   if Assigned(WebBrowser.Document) then
   begin
     sl := TStringList.Create;
     try
       ms := TMemoryStream.Create;
       try
         sl.Text := HTMLCode;
         sl.SaveToStream(ms) ;
         ms.Seek(0, 0) ;
         (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)) ;
       finally
         ms.Free;
       end;
     finally
       sl.Free;
     end;
   end;
end;

RAD Studio XE5 を使用していますが、コンパイラが WebBrowser インスタンスの ReadyState および Document プロパティについて不平を言っています。

そのため、私の出身地である Java の世界では、API 機能が Java Gods によって非推奨にされると、代わりに私がすべきことを API で参照します。

これは、Delphi の世界では発生しないようです。TWebBrowser クラスの ReadyState プロパティと Document プロパティは、API から単純に削除されました。

ここの誰かがこのコードを形にすることができると確信しています。ただし、Delphi API の変更に関する問題の一般的な解決策を見つける必要があります。これに遭遇したのはこれが初めてではありません。

もう 1 つの例は、TButton に以前は Caption というプロパティがありましたが、現在は Text という名前になっています。それは私が自分で推測しなければならなかったものです。

だから私が探しているのは、できればオンラインで入手できる Delphi API の変更ログだと思います...

そのようなものはどこで見つけることができますか?

4

2 に答える 2

4

このコード サンプルは、VCL アプリケーション用に設計されています。あなたは明らかにそれを FMX アプリケーションに配置しました。VCL アプリケーションに切り替えて問題を解決してください。

とはいえ、このコードはお勧めできません。Web ブラウザ コントロールでビジー待機を実行します。そして、それは非常に中傷的な人々への呼びかけを含んでいますApplication.ProcessMessages。そのビジー ループは、ドキュメントの読み込みが完了するまで待機しています。そして、コンポーネントは、それが発生したときに発生するイベント、つまり を提供しますDocumentComplete

于 2013-10-16T14:34:27.320 に答える