我自定义一个组件,继承TLable,然后在其类声明中加上 TOpenDialog *Open;在该组件的构造中添加 Open =new TOpenDialog ,然后又写了该组件的析构函数。编辑时出现以下错误,
Could not find a match for 'TOpenDialog::TOpenDialog';

Body has alread been defined for function "_fastcall TMyCom::~TMyCom()"

__fastcall virtual TOpenDialog(Classes::TComponent* AOwner);

你的构造函数调用不对

  应该是Open=new TOpenDialog(this);

另外别忘记加头文件#include <Dialogs.hpp>

Body has alread been defined for function "_fastcall TMyCom::~TMyCom()"

这个是说明你的类实现体部分已经定义了一个析构函数。。估计是你写重复了

引用 1 楼 zyz842 的回复:
请问该如何在自定义组件中添加已有的组件做对象,还有就是如何查看已有组件对象的构造函数
谢谢

添加可以像你上面的那样添加,注意要析构它

怎么查看 可以看help,里面有构造函数的参数等的说明!