CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

能不能将非可视组件封装到类中去?

楼主zhongjinting()2005-04-05 20:21:36 在 Delphi / VCL组件开发及应用 提问

能不能将一些非可视组件比方说socket控件封装到类中去,最后生成动态链接库,但是还要保留原有组件的事件,比如onDataArrival。 问题点数:50、回复次数:10Top

1 楼anbangs(大邦)回复于 2005-04-05 20:42:29 得分 0

顶一下Top

2 楼psp2003()回复于 2005-04-05 20:56:32 得分 5

帮你顶一把Top

3 楼newc_k(帕拉丁)回复于 2005-04-05 21:10:26 得分 10

当然可以了,不过不知道你什么要这样做,如果这个最后生成的东东是给DELPHI用的,你只不过是要包装一下,那就用PACKAGE,生成BPL。如果是要生成DLL就比较麻烦,需要将相关事件转写成可以通用的函数形式exports。Top

4 楼zhongjinting()回复于 2005-04-05 21:21:01 得分 0

能够说的更详细一些吗?或者来点儿例子就更好了。  
  因为程序很大,中间有些模块想做到DLL里去,减少程序的体积,而且以后维护也方便一些。Top

5 楼zhongjinting()回复于 2005-04-05 21:24:11 得分 0

还有一点,就是DLL自身能够响应组件本身的事件。比如把Socket封装进去,DLL能够响应OnDataArrival事件,经过处理后将处理结果返回给调用程序。  
  Top

6 楼zhongjinting()回复于 2005-04-06 15:06:47 得分 0

如何处理动态创建的组件的事件?  
  Top

7 楼ffwin()回复于 2005-04-06 15:23:08 得分 5

aa.click=bb.clickTop

8 楼ffwin()回复于 2005-04-06 15:25:22 得分 5

aa.onclick=bb.onclick  
  Top

9 楼zhongjinting()回复于 2005-04-06 15:50:46 得分 0

这些时候都是在可视组件之间互相交换。我现在是想将一个普通的过程赋给动态创建的组件的某个事件Top

10 楼gogogo(嘿嘿)回复于 2005-04-06 15:56:10 得分 25

凭记忆写的,可能有些细节不对  
  组件部分  
  type    
                    TClickEvent=procedure   of   object;  
                    Taa=   class(Tobject)  
                        private:  
                              FOnClick:   TClickEvent;  
                              procedure   UseEvent;  
                        publiched:  
                              property   OnClick:TClickEvent   read   FOnClick   write   FOnClick;  
   
  implementation  
  procedure   Taa.UseEvent;  
  begin  
          if   Assign(FOnClick)   then  
                    FOnClick;                                         ///这里实质上调用了Tbb.Click  
  end;  
   
  使用部分  
  一个类  
                  Tbb=class(TForm)  
                      aa:Taa;  
             
                      public:  
                                constructor   create;  
                                procedure   Click;  
   
  implementation  
                   
  constructor   Tbb.Create;  
  begin  
          aa.OnClick=Click;  
  end;  
  procdure   Tbb.Click;  
  begin  
  ............  
  end;Top

相关问题

  • ATL 能不能继承VB编写的COM组件再封装成COM组件?
  • ATL组件封装问题(初学)
  • 组件的封装!写组件?高手有能力呀!^_^
  • 高分求解!!!!!!如何把一个Edit和一个ComboBox封装到一个组件里?需要可视
  • DLL中封装ADO组件,出现N多问题
  • 有关jspsmartupload上传组件封装的问题求救?
  • 请问用动态库dll能封装TClientSoket和TServerSoket组件吗?
  • 封装一个vcl控件为com组件的一个问题
  • 讨论关于组件封装个数的问题。
  • 如何将TLabel,TEdit及TButton封装成一个组件?

关键词

  • 组件
  • dll
  • fonclick
  • 封装
  • tclickevent
  • taa
  • tbb
  • 生成
  • 事件
  • 可视

得分解答快速导航

  • 帖主:zhongjinting
  • psp2003
  • newc_k
  • ffwin
  • ffwin
  • gogogo

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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