1

パラメータOnStatusでラベルを更新するハンドラを割り当てました。AStatusText

ハンドラーにブレークポイントを設定するとhsConnectedGet("google.com"). 全範囲を取得するべきではないことはわかっていますが、少なくともと の前にhsResolvinghsConnectingメッセージを取得する必要がありますhsConnected

利用可能なステータスのリスト:

hsResolving,
hsConnecting,
hsConnected,
hsDisconnecting,
hsDisconnected,
hsStatusText,
ftpTransfer,
ftpReady,
ftpAborted

他のステータスを取得できない理由について何か考えはありますか?

4

1 に答える 1

1

hsConnectedは のOnStatusイベントによって報告されTIdTCPClientCustomますが、探している他のステータスは代わりにのOnStatusイベントによって報告されます。TIdIOHandler

新しい暗黙的な IOHandler オブジェクトを作成する必要があるTIdTCPClientCustom.Connect()場合、イベントが呼び出されるようにハンドラーがそれに割り当てられます。ただし、が呼び出される前に IOHandler が既に割り当てられている場合、ハンドラーは割り当てられません。割り当てた IOHandler に独自のハンドラーを割り当てる必要があります。TIdCustomHTTP.CheckAndConnect()OnStatusTIdTCPClientCustom.OnStatusConnect()OnStatusOnStatus

OnStatusイベント接続をより自動化するための TODO 項目があります。

これが発生する最も可能性の高いシナリオは、HTTPS URL を要求する前に独自の SSLIOHandler を手動で割り当てている場合です。その場合、OnStatusハンドラーを SSLIOHandler に割り当てることができます。一方、Indy の最新バージョンを使用している場合は、(OnStatusフックアップを含む) 暗黙的な SSLIOHandler を自動的に作成できるため、独自のものを割り当てる必要はありません (カスタマイズする必要がない限り)。設定):

TIdHTTP の新しい HTTPS 機能

TIdHTTP には、IOHandler がまだ割り当てられていない場合に HTTPS URL を要求するときに、内部のデフォルト SSLIOHandler オブジェクトを自動作成できる新しい機能が追加されました。

于 2015-03-08T16:29:26.597 に答える