怎样通过某个对象的句柄去获取它的内存地址?

解决方案 »

  1.   

    var
      i: integer;
    begin
       ////////列举所有TWinControl的name和内存地址
      {memo1.Clear;
      for i := 0 to self.ComponentCount - 1 do
        if (self.Components[i] is TWinControl)  then
          memo1.Lines.Add(TWinControl(self.Components[i]).Name +':' +
            inttostr(TWinControl(self.Components[i]).Handle)+'  内存地址:'
            +inttostr(integer(self.Components[i])));}  ////找到给定handle的对象
      for i := 0 to self.ComponentCount - 1 do
        if (self.Components[i] is TWinControl) and
          (TWinControl(self.Components[i]).Handle = strtoint(edit1.Text)) then
                  //edit1的内容是给定的句柄
        showmessage(inttostr(integer(self.Components[i]).)));