type
  RDetail = record
      ID: String;
      iSoSid: String;
      iRowNo: string;
end ;
  detail: RDetail;
  hash_test  : THashedStringList;  detail.ID := '111';
  detail.iSoSid := '222';  hash_test.addobject(detail.id, ???)怎么把record存到hash里面呢?

解决方案 »

  1.   

    用指针,可以这样:
    type 
      PDetail=^RDetail;
      RDetail = record 
          ID: String; 
          iSoSid: String; 
          iRowNo: string; 
    end ; 
      detail: PDetail; 
      hash_test  : THashedStringList;   new(detail);
      detail^.ID := '111'; 
      detail^.iSoSid := '222';   hash_test.addobject(detail^.id, TObject(detail));
      //hash_test释放前记得把所有指针dispose掉
      

  2.   

    怎么把数据取出来呢hash_so_detail.Objects[0] ???
      

  3.   

    detail: PDetail; 
    detail:=PDetail(Pointer(hash_so_detail.Objects[0]));