Cześć,
natrafiłem ostatnio na przeszkodę. Mam stworzony słownik w ten sposób:
type
TRekord = record
jeden:string;
dwa:string;
TMapa=specialize TFPGMap<string,TRekord>;
var
Mapa:TMapa;
Kiedy Data jest typu np. string moge bez problemu modyfikowac dane w istniejacych pozycjach. Kiedy jednak chce zmienic dane w strukturze jak powyzsza za pomoca:
Mapa[i].jeden:='nowa wartosc';
otrzymuje error
Error: Argument cannot be assigned to
oczywiscie moge to obejsc stosujac:
var
tmp:TRekord
begin
tmp.jeden:='nowa wartosc';
(..)
Mapa[i]:=tmp;
jednak zastanawiam się dlaczego nie mam dostępu do możliwości modyfikacji bezpośrednio wartości w rekordzie. Wynika to po prostu z budowy tej klasy i trzeba robić zmiany z pomocą zmiennej pomocniczej? Bardzo proszę o wyjaśnienie :)