unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,TypInfo,ObjAuto;

type
  TForm1 = class(TForm)
    btn1: TButton;
    btn2: TButton;
    btn3: TButton;
    btn4: TButton;
    btn5: TButton;
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure btn3Click(Sender: TObject);
    procedure btn4Click(Sender: TObject);
    procedure btn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
var
  f:procedure;
  i:Integer;
  j:integer;
{$R *.dfm}

procedure ExtClick1(Sender: TObject);
begin
  {asm
    mov eax,[edx+8]
    call showmessage
  end; }
  showmessage(TComponent(Sender).Name);
end;
procedure ExtClick(Frm: TObject;Sender: TObject);
begin
  {asm
    mov eax,[edx+8]
    call showmessage
  end; }
  showmessage(TComponent(Sender).Name);
  if Frm is TForm then
    TForm(Frm).Close
end;
procedure TForm1.btn2Click(Sender: TObject);
var
  ExtClickEvent: TNotifyEvent;
begin
  integer(@ExtClickEvent) := integer(@ExtClick); 
//将ExtClickEvent地址指针指向外部函数ExtClick1方法的地址
  btn1.OnClick := ExtClickEvent;
//将该地址赋值给 Button1的OnClick事件替换以前的OnClick事件
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  showmessage(TComponent(Sender).Name);

end;

procedure TForm1.btn3Click(Sender: TObject);
begin
 btn1.OnClick := btn1click;//还原为对象内触发事件函数

end;

procedure TForm1.btn4Click(Sender: TObject);

begin
  i:=0;
  i:=Integer(@f);
  //j:=Integer(@@f);
    ShowMessage(inttostr(i));
    i:=Integer(@@f);
  ShowMessage(inttostr(i));

end;

procedure TForm1.btn5Click(Sender: TObject);
begin
  i:=0;
  i:=Integer(@f);
  //j:=Integer(@@f);
    ShowMessage(inttostr(i));

end;

end.

 
http://blog.csdn.net/diligentcatrich/article/details/8115783
 
----------------------------------------------------------------------
delphi 中一切皆指针,任何类型都是指针,不错,你没看错。不过本篇不详细的说明delphi中指针的用法,因为篇幅所限,只是简单说明一下。delphi 中有的语法看起来比较奇怪如ppointer等,其实ppointer(p)与 pointer(p)是一样的,只不过是将其视做的对象不同而已,任何类型的指针都可以通过integer(p)转换成integer( 这里的integer就是地址的值)。
 
http://blog.csdn.net/diligentcatrich/article/details/8130449

delphi中一切皆指针的更多相关文章

  1. Delphi中的函数指针判断是否为空

    delphi函数指针 只有@@p才代表了函数指针本身的地址   assigned(p) 判断是否为空 或者用 @p=nil 来判断函数指针是不是为空 Delphi中的函数指针实际上就是指针,只是在使用 ...

  2. delphi 中的函数指针 回调函数(传递函数指针,以及它需要的函数参数)

    以下代码仅仅是测试代码:delphi XE7 UP1 interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.V ...

  3. delphi 中Adoquery ,在打开时能否让记录指针不移动? [问题点数:40分,结帖人microd]

    delphi 中Adoquery ,在打开时能否让记录指针不移动?由于数据集Adoquery 时,它的针指称动会废时,能否在打开完成之前不让记录指针不移动.打开完毕之后再回复移动? 这样用:self. ...

  4. Delphi中使用比较少的一些语法

    本文是为了加强记忆而写,这里写的大多数内容都是在编程的日常工作中使用频率不高的东西,但是又十分重要. ---Murphy 1,构造和析构函数: a,构造函数: 一般基于TComponent组件的派生类 ...

  5. 翻箱倒柜,《Delphi中建议使用的语句》

    (*//标题:Delphi中建议使用的语句整理:Zswang连接:http://www.csdn.net/Expert/TopicView1.asp?id=724036日期:2002-06-22支持: ...

  6. Delphi中window消息截获的实现方式(2)

    Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpascal)语言,并有强大的数据库引擎 ...

  7. Delphi 中的 procedure of object

    转载:http://www.cnblogs.com/ywangzi/archive/2012/08/28/2659811.html 总结:TMyEvent = procedure of object; ...

  8. Delphi中的异常处理

    转载:http://www.cnblogs.com/doit8791/archive/2012/05/08/2489471.html 以前写Delphi程序一直不注意异常处理,对其异常处理的机制总是一 ...

  9. Delphi中DLL的创建和使用

    参考:http://blog.csdn.net/ninetowns2008/article/details/6311663 结合这篇博客:http://www.cnblogs.com/xumenger ...

随机推荐

  1. video.js的使用

    跨浏览器地播放视频,在网上找了一下,找到了video.js,记录一下video.js的简单用法. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 ...

  2. python几个排序函数 sort sorted argsort

    Python中排序常用到的sort .sorted和argsort函数 [摘要:Python中sort 战 sorted函数 一 .先容 sort函数是list列表中的函数,而 sorted能够对li ...

  3. JS给元素增加className

    function(element,value) //给元素添加className { if(!element.className) { element.className=value; } else{ ...

  4. Core dotnet 命令大全

    Core dotnet 命令大全 dotnet 命令大全,让你理解dotnet 命令. 本文将以一个实例串起 dotnet 所有命令,让你玩转dotnet 命令. 本篇文章编写环境为windows 1 ...

  5. Ant学习实例

    ant   目录(?)[+] Ant学习实例 安装Ant 基础元素 project元素 target元素 property元素 完整示例   Ant学习实例 1.安装Ant 先从http://ant. ...

  6. php MySQLi部分函数(面向对象和过程)

    版本支持:PHP > 5.0  MySQL > 4.0 2. mysqli 连接数据库: $db = new mysqli(host,user,password,database);返回一 ...

  7. SOA,不看你永远不知道的事

    你买不来SOA,只能设计自己的SOA. SOA不是新东西 SOA没有引入新概念,它是个把现有概念和实践放到一起,用于特定需求集的范式.你甚至可以说SOA别的什么都 不是,就是将实用主义和头脑风暴运用到 ...

  8. 作业还是作孽?——Leo鉴书79

    中国孩子,尤其是城市孩子课业过重是个不争的事实.儿子上幼儿园的作业已经能做到8点多了,上小学之后不知道是不是会整得更晚.于是入手这本<家庭作业的迷思>,认真读读.请特别注意,不要买书叫&q ...

  9. 多个线程怎样操作同一个epoll fd

    自己曾经做一个接口server时候,这样的场景下我的设计是多个线程操作同一个epoll fd.彼时,我的理由是epoll的系列函数是线程安全的. 当然有人不理解为什么会有多个线程操作同一个epoll ...

  10. 07-IOSCore - CoreData补充、音频视频

    xml被plist取代了  数据库被coredata取代了 一.Core Data 高级补充 1. Core Data 本质是什么?操作数据库的数据 ORM Object Relationship M ...