Hallo Zusammen,
ich möchte gerne durch alle Einträge eines TObjectDictionary durchlaufen
und dabei die Keys und die Values abfragen. Mit ExtractPair kann ich
eigentlich genau das "Paar"(Kay,Value) abfragen. Doch leider nimmt
es ExtractPair wörtlich "Extract" und entfernt mir den Eintrag aus dem Dict.
Die Hilfe sagt, es gibt keine Hilfe.
Delphi-Quellcode:
procedure TfrmMain.SendAllStati;
var UserObject:TUserObject;
i:integer;
status:String;
aPair :TPair<integer,TUserObject>;
begin
status := 'ALLSTATI';
for i := 0 to UserObjectDict.Count-1 do
begin
aPair := UserObjectDict.ExtractPair(i);
if aPair.Value<>nil then
begin
status := status + Format(';%d_%d',[aPair.Key, aPair.Value.State]);
end;
end;
Display(Memo3, status);
end;{SendAllStati}
Hat jemand eine Idee?
Gruß Kostas
[Edit] Auch wirklich unschön ist dass der Value.Destructor nicht gefeuert wird!
Es wird also aus der Liste entfern ohne dass das Object es mittbekommt!