![]() |
for-Schleifen - Compiler meint es _zu_ gut!
Hi,
Folgende Situation:
Delphi-Quellcode:
Und die Schleife fängt bei 3 (!) an und hört bei 1 auf! Der Compiler kann ja meinetwegen optimieren (ich schätze daher kommt das) aber doch nicht bei sowas o.O :wall: :roll:
procedure T3D2File.LoadFromFile(const Filename: PChar);
procedure ReadHeader(..:); var k: Integer; begin for k:= 0 to 2 do // <--- begin Read(AHeader.Lights[k].Active,SizeOf(Word)); AHeader.Lights[k].Active := SwapWord(AHeader.Lights[k].Active); end; end; var i: Integer; begin // Code ReadHeader(...); // Code end; Gruß Neutral General |
Re: for-Schleifen - Compiler meint es _zu_ gut!
eventuell ein begin..end vergesen?
|
Re: for-Schleifen - Compiler meint es _zu_ gut!
Zitat:
|
Re: for-Schleifen - Compiler meint es _zu_ gut!
Zitat:
Gruß Neutral General[/quote] |
Re: for-Schleifen - Compiler meint es _zu_ gut!
Hi,
Naja...
Delphi-Quellcode:
Auch hier spuckt mir der Debugger
for k:= 0 to 2 do
FData.Lights.Add(AHeader.Lights[k].x/100, AHeader.Lights[k].y/100, AHeader.Lights[k].z/100, AHeader.Lights[k].Brightness); k=3 aus (beim ersten durchlauf) und AHeader.Lights[k=3].Brightness = 412 statt AHeader.Lights[0].Brightness = 3 PS: Und dort gibts auch ne AV. |
Re: for-Schleifen - Compiler meint es _zu_ gut!
Schalte doch mal die Code-Optimierung aus, dann sollte der Debugger bessere Werte bringen. Wenn es dann noch kracht, liegt der Fehler nicht am Optimierer.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz