Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 为什么我会得到;“抽象错误”;在使用TStream类时?_Delphi - Fatal编程技术网

Delphi 为什么我会得到;“抽象错误”;在使用TStream类时?

Delphi 为什么我会得到;“抽象错误”;在使用TStream类时?,delphi,Delphi,当我尝试运行以下简单的代码序列时,我得到了抽象错误错误消息: type TForm1 = class(TForm) Image1: TImage; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; procedure TForm1.Bu

当我尝试运行以下简单的代码序列时,我得到了
抽象错误
错误消息:

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
的流,以便以后处理。。。我做错了什么?< /P> < P>是一个抽象类,是所有流的基础。

TStream是流对象的基类类型,它可以读取或写入各种存储介质,如磁盘文件、动态内存等

使用专用流对象读取、写入或复制存储在特定介质中的信息

您可能希望使用or,顾名思义,or将流内容存储在内存或系统文件中

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

如果注意编译器关于实例化抽象类的警告,本可以避免这种情况。永远不要忽略编译器警告。忘记,与tstrings和TStringlist一样:-(