In der Art hatte ich es ursprünglich. Da die Berechnungen zum Teil aufwändig sind, führe ich sie nur noch aus, wenn sie auch benötigt wird
Delphi-Quellcode:
if FlagTuWas1 then
TuWas1(List1, List2);
if FlagTuWas2 then
TuWas2(List2, List3);
was so dann natürlich nicht geht. Wenn TuWas1 nicht ausgeführt würde müsste ich List1 statt List2 in TuWas2 eingeben
Und der Ansatz
Delphi-Quellcode:
var
lTempList:TTempList;
begin
PrepareDestList(SourceList, DestList);
lTempList:= TAbsBaseList.Create(true);
try
// -------------------------------------------------------------------------------------------------------------------------------------
if FlagTuWas1 then
if TuWas1(DestList, lTempList) then // Wenn erfolgreich ausgeführt
PrepareDestList(lTempList, DestList); // Ergebnis in Weitergabe-/Rückgabeliste kopieren
// -------------------------------------------------------------------------------------------------------------------------------------
if FlagTuWas2 then
if TuWas2(DestList, lTempList) then
PrepareDestList(lTempList, DestList); // Ergebnis in Weitergabe-/Rückgabeliste kopieren
finally
lTempList.Free;
end;
end;
erscheint mir aufwändig, da das neue Ergbnis immer wieder in lTempList kopiert wird um es dann wieder dem nächsten Aufruf übergeben zu können