易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi 的RTTI机制浅探

http://www.delphibbs.com/delphibbs/dispq.asp?lid=2420610
目录
===============================================================================

RTTI 简介
⊙ 类(class) 和 VMT 的关系
⊙ 类(class)、类的类(class of class)、类变量(class
variable) 的关系
⊙ TObject.ClassType 和 TObject.ClassInfo
⊙ is 和 as
运算符的原理
⊙ TTypeInfo – RTTI 信息的结构
⊙ 获取类(class)的属性(property)信息

获取方法(method)的类型信息
⊙ 获取有序类型(ordinal)、集合(set)类型的 RTTI 信息
⊙ 获取其它数据类型的 RTTI
信息
===============================================================================
本文排版格式为:
 
  正文由窗口自动换行;所有代码以 80
字符为边界;中英文字符以空格符分隔。
(作者保留对本文的所有权利,未经作者同意请勿在在任何公共媒体转载。)
正文
===============================================================================

RTTI
简介
===============================================================================
RTTI(Run-Time
Type Information) 翻译过来的名称是“运行期类型信息”,也就是说可以在运行期获得数据类型或类(class)的信息。这个 RTTI
到底有什么用处,我现在也说不清楚。我是在阅读 Delphi 持续机制的代码中发现了很多 RTTI 的运用,只好先把 RTTI
学习一遍。下面是我的学习笔记。如果你发现了错误请告诉我。谢谢!
Delphi 的 RTTI 主要分为类(class)的 RTTI 和一般数据类型的
RTTI,下面从类(class)开始。
===============================================================================

类(class) 和 VMT
的关系
===============================================================================
一个类(class),从编译器的角度来看就是一个指向
VMT 的指针(在后文用 VMTptr 表示)。在类的 VMTptr 的负地址方向存储了一些类信息的指针,这些指针的值和指针所指的内容在编译后就确定了。比如
VMTptr - 44 的内容是指向类名称(ClassName)的指针。不过一般不使用数值来访问这些类信息,而是通过 System.pas 中定义的以 vmt
开头的常量,如 vtmClassName、vmtParent 等来访问。
类的方法有两种:对象级别的方法和类级别的方法。两者的 Self
指针意义是不同


相关文档:

翻译一半的Delphi汇编帮助

 The built-in assembler allows you to write assembly code within Delphi programs. It has the following features:
内嵌的汇编器允许在delphi程序中书写汇编代码,他有如下特性:
Allows for inline assembly
允许内嵌汇编
    Supports all instructions found in the Intel Pentium III, In ......

delphi 快捷键

 Ctrl+PageUp      将光标移至本屏的第一行,屏幕不滚动。
 Ctrl+PageDown    将光标移至本屏的最后一行,屏幕不滚动。
 Ctrl+↓          向下滚动屏幕,光标跟随滚动不出本屏。
 Ctrl+↑ &nb ......

在Delphi中使用正则表达式

//参考地址:http://www.wangchao.net.cn/bbsdetail_41190.html
一、微软RegExp
      1. 下载并安装最新版的"Microsoft(r) Windows(r) Script"
  2. RegExp包含在vbscript.dll中所以我们必须先注册regsvr32 vbscript.dll
  注(安装了Ie5后默认已经包含该控件)
  3.在Delph ......

Delphi实现透明窗体

unit unitMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号