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