Delphi自定义组件析构函数

时间:2013-05-02 13:19:34

标签: delphi delphi-xe3

我不确定我的编码是否正确,所以如果我错了请纠正。 我有一个带有图像的自定义组件。

CustomPic = class(TPanel)
private
   Image : TImage;
public
   constructor Create(AOwner: TComponent); override;
....
end;

在我的构造函数中,我执行以下操作:

constructor CustomPic.Create(AOwner: TComponent);
begin
    Image := TImage.Create(Self);
    Image.Parent := Self;
    AddObject(Image);
end

一切正常。但是,当我将自定义组件放在表单上并将alt + F12和alt + F12返回到我的表单时,我的表单上有一个额外的图像。我应该在析构函数中实现一些东西吗?

1 个答案:

答案 0 :(得分:1)

副手,我没有看到你显示的代码有什么问题(但是AddObject()是什么?)。 TImage由组件拥有,因此在释放组件时将自动释放它。如果您看到多个图像,则必须创建多个组件。