私が知る限り、そのユニットを直接含めるつもりはありませんでした。ユニットは、 または のいずれかIdStreamVCL
に委任します。そして、それはあなたが を使用することによって保護されている実装の詳細であるように私には思えます。IdStreamVCLDotNet
IdStreamVCLWin32
IdStreamVCLWin32
IdStreamVCL
現在、これらのユニットはすべて に統合されていIdStreamVCL
ます。そして、それを含めることができます。しかし、それを行うべきかどうかは私にはわかりません。見てみましょうIdStream
:
unit IdStream;
interface
{$I IdCompilerDefines.inc}
uses
{$IFDEF DOTNET}
IdStreamNET
{$ELSE}
IdStreamVCL
{$ENDIF};
type
{$IFDEF DOTNET}
TIdStreamHelper = TIdStreamHelperNET;
{$ELSE}
TIdStreamHelper = TIdStreamHelperVCL;
{$ENDIF}
implementation
end.
その実装がまたはIdStream
によって提供されているかどうかにかかわらず、コンパイラを使用して動作させることを意図していることは明らかです。IdStreamNET
IdStreamVCL
したがって、あなたの質問に対する答えは、おそらく の使用を に置き換える必要があるということIdStreamVCLWin32
ですIdStream
。IdStream
の機能は、現在は別の方法で実装されていることに注意してください。ストリーム クラスのインスタンスをインスタンス化する必要はなくなりました。TIdStreamHelper
最新の Indy は、クラス関数を含むヘルパー クラスを提供します。したがって、次のようなコードを書くことになります。
BytesWritten := TIdStreamHelper.Write(Stream, Bytes, Count);
ただし、 から実際に何を使用しているのかわからないため、それが正しいアプローチであるかどうかはわかりませんIdStreamVCLWin32
。あなたのコードがそこから何も使用していない可能性は非常に高く、 の使用IdStreamVCLWin32
は単にコードの古いバージョンからの漂遊的な後遺症です。
だから私のアドバイスは:
IdStreamVCLWin32
用途から外してください。
- コードを調べて、現在の Indy コードで正しい方法を見つけ出すことで、後続のコンパイラ エラーに対処します。