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

  • 相关阅读:
    Codeforce Round #215 Div2 C
    Facebook Hacker Cup 2014 Qualification Round
    Codeforce Round #214 Div2
    Codeforce Round #213 Div2
    FOJ 2013 11 月赛
    Codeforce Round #211 Div2
    Codeforce Round #210 Div2
    如何下载spring-framework
    [转]大型网站系统架构的演化
    sql查询,如何增加一列
  • 原文地址:https://www.cnblogs.com/findumars/p/5217995.html
Copyright © 2011-2022 走看看