Entweder stelle ich mich gerade sehr dumm an oder es funktioniert tatsächlich nicht.
Folgendes Konstrukt
Delphi-Quellcode:
{$IFDEF TPARALLEL_FOR}
TParallel.For(0, 99,
procedure(i_: Integer; aLoopState: TParallel.TLoopState) // var "irgendwelche Variablen die in TParallel.For benötigt werden"
{$ELSE}
for i_ := 0 to 99 do
{$ENDIF}
begin
if bCancelled then
begin
{$IFDEF TPARALLEL_FOR}
aLoopState.Stop;
Exit;
{$ELSE}
Break;
{$ENDIF}
end;
// Do something ... (für beide Schleifen gleich)
{$IFDEF TPARALLEL_FOR}
end);
{$ELSE}
end;
{$ENDIF} // for
Nun möchte ich aber von der Compiler-Direktive weg und einen anderen Weg finden, beide Schleifen zur Verfügung zu stellen.
Statt einer Compiler-Direktive denke ich da an ein einfaches If-Else-Konstrukt.
Wie würdet ihr das machen, um doppelten Code zu vermeiden?