Wenn ich das jetzt richtig verstehe, dann haben wir pro Bundle drei Strings PreTask, MainTask und PostTask mit Inhalten wie z.B. 'a,b', 'c' und 'd,e' und das soll zu folgender Aufrufsequenz führen:
Delphi-Quellcode:
begin
{ pre }
a;
b;
{ main }
c;
{ post }
d;
e;
end;
Ich würde einfach ein
TDictionary<string, TProc>
verwenden und dort die einzelnen Methoden mit ihren Namen registrieren. Um dann die Tasks eines Bundles auszuführen zerlegt man die
PreTask,
MainTask und
PostTask Strings in seine Einzelteile, holt sich die entsprechende Methode aus dem Dictionary und führt die aus. Das ist leicht zu verstehen, noch leichter zu warten und ausreichend performant.