Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.060 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

TObjectDictionary komplett durchlaufen

  Alt 4. Okt 2012, 12:06
Delphi-Version: 5
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!

Geändert von Kostas ( 4. Okt 2012 um 12:15 Uhr)
  Mit Zitat antworten Zitat