Delphi Tclientsocketは(まだ)非推奨ですか?
-
13-10-2019 - |
質問
の中に 解決コメント バグレポートの場合 12266 (「ソケット接続のエラーがリソースリークを引き起こす」)、Robert Ehteshamzadehは書いた
tclientsocketは非推奨です。このレポートは、推奨される回避策を可能にするために開いたままにされています。
これはDelphi 6用でした。後のバージョンでは、TclientsocketとTserversocketがデフォルトでツールパレットにインストールされていませんが、インストール命令は 提供された.
それ以来、このステータスは変更されているので、Tclientsocket(およびTserversocketも)がDelphi VCLの一流のメンバーになりましたか?一部のプロジェクトでは、TClientsocket(IndyおよびSynapseの後の別のTCP/IPライブラリとして)を使用したいと思いますが、Embarcaderoで公式のステータス情報を見つけることができませんでした docwiki.
(「非推奨」クラス /メソッドの公式インデックスが役立ちます)。
解決
具体的にあなたの質問に答えるには:
はい、TclientsocketとTserversocketはまだ非推奨であり、この状況が変わるとは想像できません。
他のヒント
TclientsocketとTserversocketは、Windowsメッセージに基づいて効果のない設計を使用します。このスキームは、Windows 3.11で導入されました(または3.1で発生しましたか?)、真のマルチタスクがなく、マルチスレッドソケットの処理が不可能でした。より強力で高性能のソリューションがコンポーネント市場(つまり、インディ、その後のライブラリ)に登場したため、非難が起こりました。コンポーネントはまだ出荷されていますが、古いテクノロジーを復活させるという感覚はありません。さらに、IOCPベースのサーバーソケットの実装を含めるようにEmbarcaderoを含めることをお勧めしますが、サーバーソケットは現在、Embarcaderoにとって関心のある範囲にないと思います。
まあ、それはあなたが非推奨と呼ぶものに依存します。 「ソースフォルダーのいずれにも含まれていない」が廃止されているとカウントされる場合、はい、それはまだ非推奨です(D2009)。
アップデート
TClientsocketとTserversocketのソースが実際に存在します。 @mjnと @eugeneは私をそれに向けました。 Windows検索で何かを見つけられないというわけではないというわけではないことをもう一度示します。検索フィルターが定義されていないため、Windowsが「非検索可能」と見なす拡張機能を備えたファイルに潜むことができます...(.pasファイル用にセットアップしたと思いますが、それは判明しましたが、別のマシンで)。
しかし、私はそれがまだ非難されていることを損なうものではないと思います...