Hash 是一个全局的 THashedStringList ,Hasht 是一个私有的 THashedStringList ,通过 Hasht:=Hash 或者 Copymemory(@Hasht,@Hash,sizeof(Hash)) 这样获得了值。然而我在下面代码中,释放 Hasht 之后,再去访问 Hash 就提示地址错误,为什么好像我释放了 Hasht 就会连 Hash 也一起被释放?procedure TForm1.Button1Click(Sender: TObject);
var
  Hasht: THashedStringList;
  i:integer;
begin
Hash:= THashedStringList.Create;
For i:=0 to 5 do
begin
  Hash.Add(chr(i) + '=' + inttostr(i));
end;
Hasht:= THashedStringList.Create;
//hasht:=Hash;
Copymemory(@Hasht,@Hash,sizeof(Hash));
showmessage(Hasht.ValueFromIndex[0]);
Hasht.Free;
showmessage(Hash.ValueFromIndex[0]);
end;