Delphi反射】的更多相关文章

关于反射的用途是『降低模块间的耦合度』这个倒未必尽然 单就delphi来说,从实现上看,它的所谓反射是基于RTTI,而RTTI的出现按照官方的说法是为了实现RAD中窗体文件DFM的持久化而产生的,其实也不是针对DFM文件或TForm啦,由于TPersistent在声明的时候加上了{$M+},所以从TPersistent派生的对象都在编译的时候添加了RTTI,而在TComponent中又增加了对TReader和TWriter支持,说的准确一点.时髦一点RTTI是为了实现对象的持久化和反持久化,在D…
最近在写一个框架,需要用到反射,与C# java这些原生支持反射的语言不同,delphi对反射的支持相对要弱一些,但也够用了,其实C#的大部分的思想还是从 delphi而来,毕竟都是安德鲁斯的杰作. 这是只谈想法,不谈实现.Delphi7里其实就有对反射的支持了,typInfo,objAuto.基本上可以实现大部分的功能.但对静态方法的支持目前还没有好的解决办法.调用objectInvoke时 object必须从tpersistent继承且用{$METHODINFO ON} 与{$METHODI…
相关资料:http://www.blogjava.net/nokiaguy/archive/2008/05/10/199739.html { http://www.blogjava.net/nokiaguy/archive/2008/05/10/199739.html 在delphi中动态建立类的实例可分为4步. 1. 声明一个从TPersistent继承的类.因为在注册类时要求必须从TPersistent继承. 2. 注册类.可以使用RegisterClass等过程进行注册. 3. 验证类是否…
Delphi2010之后的RTTI做了很大休整,现在用起来很爽了哦.甚至可以获取某些类的内部私有单元,然后为其赋值!讲这个RTTI增强的,可以参考网上的多个博客内容,我列举一下:Delphi2010RTTI的增强Delphi的Anymouse方法探秘万一的Rtti系列 我这里的主要目的是挂钩某些内部私有事件,然后增加上一些自己的处理过程,这里我以TMenuItem的私有内部事件FOnChange作为例程.这个私有事件在菜单内部绑定,我们平常状态下,在外部无法更改!但是XE之后这个问题不在存在,使…
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls, IniFiles;//TStringHash使用 type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Image1: TImage; procedure But…
自从Delphi2010增强了RTTI反射机制后,编译出来的程序变得更大了,这是因为默认情况下 Delphi2010 给所有类都加上了RTTI信息(呵呵,不管你用不用它,好像实用价值确实不高,至少目前我不会去用的).虽说对程序的运行速度影响不大,但会增加安装程序的大小,这也是我们不愿看到的.有没有办法禁用RTTI信息,从而减小编译后程序的大小呢?,从文档中我们找到了方法. 一.在工程中用编译指令禁用RTTI 禁用的方法很简单,就是要在工程(dpr文件中.Delphi2010下项目文件是dproj…
<zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核心控件就是两个: THImagex,图像数据控件,v11版,包括488个函数和子程序 THOperatorSetX,操作主接口控件,v11版,包括1929个子程序 以上两大核心控件,已经删除个别delphi内部属性函数,不影响日常使用. 其他控件,基本上,都是为配合两个控件,提供数据类型支持.…
说说Delphi XE2及以后的版本编译后的程序大小问题. 其实最终得到的程序并不大,由于编译器的变化,XE2里Debug版程序比Release版程序大很多,要减小程序体积,就使用Release版.下面给出稍微具体点的信息(都是空程序): Win32 Debug版 VCL程序大约6M           FireMonkey程序大约8M Win32 Release版 VCL程序大约1.5M       FireMonkey程序大约3M Win64 Debug版 VCL程序大约7M        …
提供了一堆原来C++没有的功能,比如反射什么的...但是可能还是没有Delphi的类之类更强,因为类之类可以“创建类”.可惜我学艺不精,对“类之类”也没有完全学会.先留个爪,有空把两个东西都好好学学,再来个比较... ----------------------------------------------------------------------------------- 除了D指针,Qt中另一个很有意思的部分就是Q_OBJECT宏了.该宏提供了对元对象的访问,使得能够使用比如信号和槽…
Delphi 2007体验! baidu 内容摘要:CodeGear(From Borland) 公司公布了最新的Delphi 2007 For Win32版本号.作为一个 Delphi 的使用者,第一时间下载.安装并进行了体验,现将一些使用感受记录例如以下 CodeGear(From Borland) 公司公布了最新的Delphi 2007 For Win32版本号.作为一个 Delphi 的使用者,第一时间下载.安装并进行了体验,现将一些使用感受记录例如以下: 注:以下的对照主要是针对Del…