我有一个TDBImage控件。我想通过TButton的点击事件清除/删除/清空。即屏幕上显示的内容,而不是通过设置为empty_blob()可以完成的底层数据库中的内容。
似乎实际图像存储在Picture属性(TPicture)中,但搜索TPicture也没有帮助。
procedure TMyForm.clearPictureButtonClick(Sender: TObject);
begin
photo.Picture.[WHAT GOES HERE????];
// or
// photo.Picture := [WHAT GOES HERE????];
end;
我的逻辑候选人会被称为:clear
,erase
,blank
,empty
等。
Free
,Destroy
和DisposeOf
明确处理将控件的内存释放回操作系统。
我该怎么做?
答案 0 :(得分:4)
清除Picture
属性:
photo.Picture := nil;
TDBImage.Picture
是一个属性;分配给它真的会调用图像控件的内部Assign
字段上的FPicture
方法。因此,该属性实际上不会成为 nil
。由于断开连接,您可能会认为上述代码对于天真的读者有些误导。您可以通过键入一个小模式来避免这种情况:
photo.Picture.Assign(nil);