Aber wenn ich es mir so richtig anschaue, dann müsste sich das komplett so abtüten lassen:
Delphi-Quellcode:
procedure ProcessAction;
var
varCurrActClass : TLastActionClass;
i : integer;
begin
for i := FLastActionList.Count -1 downto 0 do
begin
varCurrActClass := FLastActionList.Items[i];
if
{Bedingung1} (...)
{oder} or
{Bedingung2} (...)
then
begin
FLastActionList.Delete( i );
end;
end;
FLastActionList.TrimExcess;
end;
Das mit dem downto ist eine feine Sache, so kann man wunderbar das OutOfRange verhindern ohne das in eine while Schleife zu packen
Edit: Works amazing
Delphi-Quellcode:
if
{Bedingung1} (...)
{oder} or
{Bedingung2} (...)
then
Eine Möglichkeit, ja aber die if Abfragen sind etwas größer, daher hatte ich das aufgeteilt um den Code Übersichtlich zu halten.