TPerson = packed record
  Name: string;
  Age: integer;
  HomePage: string;
endvar
  Person: TPerson;
begin
  Person.Name := 'zsy_good';
  Person.Age := 23;
  Person.HomePage := nil;
end;我如何直接读出Person.Name的值,
而不用Person.Name显示Name的值.
  

解决方案 »

  1.   

    在内存中定位到Name的值,读出来,不使用Person.Name来显示Name的值
      

  2.   

    意义大了,我不是傻到有这个Person.Name不用,我有别的想法,一下也讲不清楚
      

  3.   

    to anh(hananying)
    从你的回答中,我觉得你知道
    讲的有道理,可不可以详细讲一下.
      

  4.   

    //怎样取得类的属性名称和对应的数据类型 
    //use typinfo.pas
    procedure TForm1.Button1Click(Sender: TObject);
    var
      PropList: PPropList;
      PropCount: Integer;
      I: Integer;
    begin
      PropCount := GetTypeData(TNewRec.ClassInfo)^.PropCount;
      GetMem(PropList, PropCount * SizeOf(Pointer));
      try
        GetPropInfos(TNewRec.ClassInfo, PropList);
        for I := 0 to PropCount - 1 do
          Memo1.Lines.Add('字段名: ' + PropList[I].Name + '====' +
            '类型: ' +
            Copy(GetEnumName(TypeInfo(TTypeKind), Integer(PropList[I].PropType^.Kind)), 3 , MaxInt));
      finally
        FreeMem(PropList);
      end;
    end;
      

  5.   

    知道了一个类的属性为STRING类型就可以通过知道他的地址拉PPropList里面好象有这一项
      

  6.   

    VirtualAlloc提交内存,用writeprocessmemory写你数据就可以了。
      

  7.   

    大家都没有讲明白,
    我把结构体的数据放好了,
    我如何直接取出数据来。怎么没有人回答
    比如用
    copymemory(aa,结构体,100);这样的形式这样的话可以速度很快啊。
    但是我不知道这样行不行,在内存中我的信息是不是字符的形式保存,还是别的方式
      

  8.   

    如果没有STRING类型的属性是简单类型是可以的