zoukankan      html  css  js  c++  java
  • Delphi中关于Rtti的一些操作(一)

    function TForm1.ShowMethodAddress(aObj: TDerived; const sData: String) : Pointer;
    var
      aPtr : Pointer;
      sResult : String;
    begin
      try
        aPtr := aObj.MethodAddress(sData);
        sResult := Format('%s : %x', [sData + '位于', Integer(aPtr)]);
        Memo1.Lines.Add(sResult);
      except
        on e : Exception do
        begin
          sResult := Format('%s : %s', [sData, e.Message]);
          Memo1.Lines.Add(sResult);
        end;
      end;
      Result := aPtr;
    end;

    procedure TForm1.ShowFieldAddress(aObj: TDerived; const sData: String);
    var
      aPtr : Pointer;
      sResult : String;
    begin
      try
        aPtr := aObj.FieldAddress(sData);
        sResult := Format('%s : %x', [sData + '位于', Integer(aPtr)]);
        Memo1.Lines.Add(sResult);
      except
        on e : Exception do
        begin
          sResult := Format('%s : %s', [sData, e.Message]);
          Memo1.Lines.Add(sResult);
        end;
      end;
    end;

    procedure TForm1.Button8Click(Sender: TObject);
    var
      sData : String;
      aPtr : Pointer;
    begin
      aPtr := Pointer(@Self.OnClick);
      sData := MethodName(aPtr);
      sData := Format('%x : %s', [Integer(aPtr), sData]);
      Memo1.Lines.Add(sData);
    end;

    http://blog.csdn.net/diligentcatrich/article/details/7725782

  • 相关阅读:
    JVM视角:值传递or引用传递?【转】
    mybaits trim用法
    Collections.shuffle()用法
    api缓存
    接口开发
    Integer.parseInt()和这个Integer.valueOf()的详解【转】
    MyBatis 通过包含的jdbcType类型
    idea 相关设置
    idea快捷键
    equals 与 ==
  • 原文地址:https://www.cnblogs.com/findumars/p/5217995.html
Copyright © 2011-2022 走看看