CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  VCL组件使用和开发

然后限定自己写的组件只能摆一个?

楼主gpg(snake)2003-12-01 13:40:04 在 C++ Builder / VCL组件使用和开发 提问

如题 问题点数:100、回复次数:10Top

1 楼gpg(snake)回复于 2003-12-01 13:41:14 得分 0

写错了,是如何限定自己写的组件只能摆一个?Top

2 楼penu(懒猫·子在川上之再上征程·杀人无心之寓怒于静)回复于 2003-12-01 13:50:03 得分 10

一个最简单的办法:  
  将Name属性的值在设计时定义好,并将Name属性设为只读属性,这样如果在窗体中放多个组件的话会出现重名冲突,无法放置。Top

3 楼lilachue(静水思雅)回复于 2003-12-01 14:49:16 得分 8

对头!  
  同意,支持,赞助,理解,表扬!Top

4 楼TangSe(void_onering)回复于 2003-12-01 15:55:00 得分 50

不对头不同意不支持不赞助不理解不表扬!呵呵:)))  
   
  如果多个窗体呢?不就可以放多个了?  
   
  是否可以用引用计数?  
  static   int   CompCount;  
  TMyComp::CompCount=0;  
  __fastcall   TMyComp::TMyComp()  
  {  
      if(CompCount>1)  
      {  
            throw(死机);  
      }  
  delete   this;  
    }  
  Top

5 楼ljianq(泉深水清)回复于 2003-12-01 16:08:55 得分 8

楼上的可以,最好采用静态成员变量;  
   
  Top

6 楼pp616(坏蛋)回复于 2003-12-01 21:31:37 得分 8

用CreateMutex。Top

7 楼gpg(snake)回复于 2003-12-02 12:30:04 得分 0

昨天发了这个问题后,觉得有些不妥,因为这个问题没什么大的意义。  
  因为对于低手来说,组件的维护远比代码的维护困难的多。但对于高手来说,对组件维护比对代码维护要简单有效的多(它们不是一个量级的概念)。但我们(至少是我)对组件的兼容性的理解欠缺,因为大多数的聪明人喜欢精益求精(包括我这个不聪明的),于是乎对老的组件大动手脚,使之看来近乎完美,殊不知,以前的程序再也不能用它了。(CB6与以前版本好象就是这样)。那么,我们重新做个组件?  
   
  我现在很困惑,组件有什么好处,有很多好处。我可能一直困惑下去,也许有一天,会豁然开朗。  
  Top

8 楼hswu(hswu)回复于 2003-12-02 12:56:23 得分 8

组件有什么好处,有很多好处。我可能一直困惑下去,也许有一天,会豁然开朗  
   
  :)  
  说得好.......Top

9 楼jhwh(弹剑长歌(搬个凳子来灌水))回复于 2003-12-02 13:50:06 得分 8

呵呵,楼主很幽默哦。组件的好处就是OO的好处啊^_^Top

10 楼gpg(snake)回复于 2004-02-13 15:36:56 得分 0

当时未解决就结贴了。  
  一段时间以后,回头再看这个问题,终于解决。现给出答案,算是给搜索此贴的朋友一个交代。  
  答案如下。  
   
  构造中  
  FindAtom,  
  非NULL,就删除自己,并友好提示。(当然Free不能在Create中进行,new个Timer可解决)  
  NULL,就AddAtom  
   
  析构中  
  作过AddAtom,就DeleteAtom  
   
  当然会存在更好的解决办法,Borland自己的某些组件就有此功能,但我没有深究其代码。Top

相关问题

  • Decision Cube控件的DataSet属性是不是只能和DecisionQuery组件和BDE中的DataSet组件相连
  • 如何使一COM+组件的方法只能被同一COM+ APP中的组件调用
  • 在MFC程序里面只能使用activeX和对话框组件,不能使用Windows组件么?
  • 如何限定文本框输入的只能是中文?
  • 怎样限定txt中只能输入9个数字?
  • 如何将DATAGRID限定为只能输入指定行
  • 怎样限定文本框输入的只能是数字?
  • 组件
  • 组件
  • WebBrowser组件中使用FTP只能显示,不能上传下载??

关键词

  • 组件
  • 属性
  • 维护
  • 代码
  • 解决
  • compcount
  • tmycomp
  • 好处
  • 困惑
  • 问题

得分解答快速导航

  • 帖主:gpg
  • penu
  • lilachue
  • TangSe
  • ljianq
  • pp616
  • hswu
  • jhwh

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo