Zitat von
igel457:
ich habe ein komisches Problem mit dem Compiler. Und zwar wird bei folgendem Code einiges wegoptimiert:
Was steht hier?
Delphi-Quellcode:
for i := 0 to FEngine.FList.Count - 1 do
begin
FEngine.FList[i].Collision2;
FEngine.CollisionDone := true;
if FEngine.CollisionDone then
begin
break; <--- Diese Zeile wird nicht compiliert
end;
end;
Das steht da:
Delphi-Quellcode:
if Engine.List.Count > 0 then
begin
Engine.List[0].Collision2;
Engine.CollisionDone := true;
end;
btw: Warum benutzt du überall die Felder direkt? Eine property, die mit dem Feld als read-clause deklariert wird, hat keinerlei Overhead gegenüber dem Feld direkt.
Aber auf der anderen Seite hast du später die Möglichkeit den Getter zu ändern. Außerdem sehen die ganzen FXXX furchtbar hässlich aus.