5

次の単純なコード シーケンスを実行しようとすると、Abstract Errorエラー メッセージが表示されます。

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  ImageStream: TStream;
begin
  ImageStream := TStream.Create;
  Image1.Picture.Bitmap.SaveToStream(ImageStream);
  ...
end;

後で処理するためにストリームを抽出する必要がありTBitmapます...何が間違っていますか?

4

1 に答える 1

5

TStream クラスは抽象クラスであり、すべてのストリームの基盤です。

TStream は、ディスク ファイルやダイナミック メモリなど、さまざまな種類のストレージ メディアに対して読み書きできるストリーム オブジェクトの基本クラスタイプです。

特殊なストリーム オブジェクトを使用して、特定のメディアに格納されている情報を読み取り、書き込み、またはコピーします。

名前が示すように、ストリームの内容をメモリまたはシステム ファイルに格納するTMemoryStreamまたはTFileStreamを使用することもできます。

procedure TForm1.Button1Click(Sender: TObject);
var
  ImageStream: TMemoryStream;
begin
  ImageStream := TMemoryStream.Create;
  try
    Image1.Picture.Bitmap.SaveToStream(ImageStream);
    ...
  finally
    ImageStream.Free;
  end;
end;
于 2013-02-01T17:30:26.847 に答える