• Addr 函数 获取对象指针


    procedure TForm1.FormCreate(Sender: TObject);
    var
      Str: string;
      pStr: PString;
    begin
      Str := 'Delphi 2007';
      pStr := @Str;       {用 @ 获取指针}
      ShowMessage(pStr^); {Delphi 2007}
    
      Str := 'Delphi 2008';
      pStr := Addr(Str);  {Addr 和 @ 的作用是一样的, 都是获取指针}
      ShowMessage(pStr^); {Delphi 2008}
    
    
      {获取 Form1 的指针}
      ShowMessage(IntToStr(Integer(@Self)));          {1244648; 这是动态的}
      ShowMessage(IntToStr(Integer(Addr(Self))));     {1244648}
    
      {获取 Form1 的 FormCreate 过程的指针}
      ShowMessage(IntToStr(Integer(@OnCreate)));      {4570956}
      ShowMessage(IntToStr(Integer(Addr(OnCreate)))); {4570956}
    
      {
        如果要获取指针的对象的表达式太复杂, 用 @ 就不好使了;
        这时只能使用 Addr, 我以前碰到过这种情况, 今天想不起来了...
      }
    end;
    
  • 相关阅读:
    Django动态下载文件
    单反学习
    网页开发
    从一堆数中随机取出一些值的方法
    C/C++使用HTTP协议上传
    django 初级(一) 配置与周边
    c++11
    外观模式
    sqlite
    linux程序设计1
  • 原文地址:https://www.cnblogs.com/del/p/1021844.html
Copyright © 2020-2023  润新知