Delphi 6 時代には Indy を使用していましたが、現在は Indy 10 で遊んでいます。私がやりたいことは信じられないほど単純ですが、それを行う簡単な方法が見当たらないので、何かが欠けているに違いありません。
私がやりたいことは次のようなものです:
これが私が使用している実際のコードです:
procedure TForm1.btnGetURLClick(Sender: TObject);
begin
moHeader.Lines.Clear;
moBody.Lines.Clear;
try
moBody.text := IdHttp1.Get(edURL.text);
finally
end;
end;
リクエストが完了すると、http_result には指定された URL からの HTML が含まれているはずです。ただし、これは機能していないように見えるので、おそらくコンポーネントの IOHandler プロパティまたは OnWork イベントを使用する必要があると感じていますが、その使用法は私には明らかではないようで、機能する例が見つかりませんでしたグーグルで。これは以前に行われたことだと確信しているので、どんな助けもいただければ幸いです。
追加情報: より具体的に説明するために、次のことを知りたいと思います。2. もしそうなら、なぜそれが機能していないのでしょうか? 3. 私が使用している compiler/os/Indy の組み合わせにバグがある可能性は常にあります。(動作するはずですが)。
言及する必要がありますが、常に「接続が適切に閉じられました」というポップアップが表示されます。これは例外のようで、関数の結果に干渉している可能性があります。これを TRY...FINALLY でトラップしようとしましたが、うまくいきません。おそらく、Get メソッドの実行後に Indy がバックグラウンドで例外をトリガーしているためだと思います。
最後に、混乱を解消するために実行中のプログラムのスクリーンキャストを次に示し ます 。