爬到巨人的肩上:试着用两个第三方组件合成一个新的组件,但出错了。

有哥 2003-02-16 10:20:48
我是从TComponent派生的,在头文件中#include了两个第三方组件(均由TComponent派生)的源文件,使用private定义了第三方组件的对象,在构造函数中,我使用了:
FirstComp=new TFirstComp;
创建对象,但提示没有匹配的函数,故我改为:
FirstComp=new TFirstComp(Owner);
编译通过,加到Form中,运行后Form上便创建出了一个第三方组件对象,每运行一次增加一个,我在析构函数中写了delete FirstComp;也没用,这不是我想要的结果。
为了死心,我又改为
FirstComp=new TFirstComp(this);
结果当然是没能通过连接。
如何才能把第三方组件对象封装在内部呢?
...全文
20 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
albeta 2003-02-17
  • 打赏
  • 举报
回复
把源代码贴出来看看吧。
有哥 2003-02-17
  • 打赏
  • 举报
回复
能否说得再清楚些?
Lewolf 2003-02-17
  • 打赏
  • 举报
回复
TFirstComp(this) 应该是对的如果连接不上,可能是其他地方的错误,也可以将Owner置为NULL,这样在析构函数中可以自行销毁。
yyy1020 2003-02-16
  • 打赏
  • 举报
回复
应该是在VCL的Create事件中创建第三方组件的对象,在Destroy事件中删除

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧