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一样:-(