构造一个类似于TdataSource的构件的两个问题

林石公 2002-07-30 08:54:47
要求:只有一个DataSet属性,类似于TDataSource构件
但有如下问题
1、如果从TDataSource继承,则TDataSource提供的AutoEdit、Enabled及OnDataChange、OnStateChange、OnUpdateData属性是我所不需要的,请问能否屏蔽掉它们(资料上说好像不能,不知道有没有高手研究过)。
2、如果直接从TComponent继承,名为TMyDS,会出现这样一种情况:我在窗体上放上一个TMyDS构件,再放上一个TTable或TQuery,再将TMyDS连到Table或Query上,这些都没问题,但如果将Table or Query删除,将会出现各种错误,因为TMyDS的DataSet属性中设置的值现在无效了。
请问应该如何解决,谢谢
不知道我说得是不是明白,如有不明之处,我会作进一步说明
...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
林石公 2002-08-12
  • 打赏
  • 举报
回复
没有高手还是没有原意回答,
林石公 2002-08-01
  • 打赏
  • 举报
回复
没有构件高手吗?
zhangxinji 2002-07-30
  • 打赏
  • 举报
回复
你可以自己做个控件,随便你添哪些属性
我现在在做一个treeview的控件让它有数据操作属性
至于怎么做建议你找一本delphi的高级编程资料,delphi下开发控件有些困难
yansea 2002-07-30
  • 打赏
  • 举报
回复
对于2来说,你可以看看tdatasource的源码,它的
procedure SetDataSet(ADataSet: TDataSet);中或者能有启发,其中有一个方法IsLinkedTo;它用一个while来判断dataset是否为nil,我想你也可以实现这个方法,不能在db单元里实现你的tmyds,那只有自己写了。
halfdream 2002-07-30
  • 打赏
  • 举报
回复
有点困难的问题:)
可以看一些源码,不过VCL的TDATASOURCE考虑的东西太多,看的时候不容易抓住重点.

去看看<设计模式>的观察者模式.

5,930

社区成员

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

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