如何清除TDBImage字段?

时间:2015-09-18 16:23:22

标签: delphi delphi-xe7

我有一个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;

我的逻辑候选人会被称为:cleareraseblankempty等。

FreeDestroyDisposeOf明确处理将控件的内存释放回操作系统。

我该怎么做?

1 个答案:

答案 0 :(得分:4)

清除Picture属性:

photo.Picture := nil;

TDBImage.Picture是一个属性;分配给它真的会调用图像控件的内部Assign字段上的FPicture方法。因此,该属性实际上不会成为 nil。由于断开连接,您可能会认为上述代码对于天真的读者有些误导。您可以通过键入一个小模式来避免这种情况:

photo.Picture.Assign(nil);