0

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

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 回到我的表单时,我的表单上有一个额外的图像。我应该在我的析构函数中实现一些东西吗?

4

1 回答 1

1

顺便说一句,我看不出您显示的代码有什么问题(但是 AddObject() 是什么?)。TImage 归组件所有,因此在组件释放时会自动释放。如果您看到多个图像,则必须创建多个组件。

于 2013-05-02T16:11:59.730 回答