Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wie kann ich feststellen, ob Sub-Klasse schon gelöscht ist

  Alt 14. Sep 2023, 14:34
Mmh, Mist. Und ich hatte gehofft, dass es einen Weg gibt umd festzustellen, dass ein Object gefreet wurde.

In Ermanglung von Interface-Wissen würde ich es so machen:
Delphi-Quellcode:
ValueList := TValueList.Create(True);
try
  for i := 0 to TestList.Count do
    if (TestList[i].Values <> nil) then
    begin
      bExist:=False;
      for j:=0 to ValueList.Count-1 do
      begin
        // Hier bin ich mir nicht ganz sicher, ob ich es mir so einfach machen kann.
        // Ich habe es schon mal so gemacht und es hat funktioniert. Aber ist es sicher?
        if (ValueList[j] = TestList[i].Values) then
          bExits:= True;
        if bExist then
          break;
      end;
      
      if not bExist then
        ValueList.Add(TestList[i].Values);

      TestList[i].Values := Nil;
  end;
finally
  ValueList.Free;
end;
Oder geht es einfacher

Geändert von norwegen60 (14. Sep 2023 um 14:46 Uhr) Grund: TestList[i].Values:=Nil statt Free
  Mit Zitat antworten Zitat