背景值如果为空

时间:2013-10-17 23:45:52

标签: delphi delphi-xe2

我有

property Background: TPicture read FBackground write SetBackground;

如果没有分配给它,背景的价值是什么?

我试过了

if Background = NULL  then

begin
...
..
...
end;

1 个答案:

答案 0 :(得分:5)

这取决于。在构造函数中创建字段并分配FBackground时,请使用:

if FBackground.Graphic = nil then

或者:

if not Assigned(FBackground.Graphic) then

如果已分配图形,则使用:

if FBackground.Graphic.Empty then

如果属性和字段都未取消分配,则使用:

if FBackground = nil then

或者:

if not Assigned(FBackground) then

以上所有内容合并:

if (FBackground = nil) or (FBackground.Graphic = nil) or FBackground.Graphic.Empty then