Thema: Delphi Interessante Optimierung

Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Interessante Optimierung

  Alt 5. Dez 2004, 18:11
Hi,
ich bin gerade ein wenig über die Compileroptimierung verwundert. Folgender Source (die mit * markierten Zeilen haben einen blauen Punkt von Delphi bekommen):
Delphi-Quellcode:
     repeat
{*}    frmSelectDrive.ShowModal;
{*}    FDrive := frmSelectDrive.DriveLetter;
{*}    FDatabaseFilename := FDrive + szDatabasePath;
{*}    FFilebase := FDrive + szFilebasePath;
{*}    if FileExists(FDatabaseFilename) then
         break;
{*}    case MessageDlg(szNoHDD060, mtError, [mbAbort, mbRetry], 0) of
         mrAbort:
           begin
{*}          Close;
             break; {<--}
           end;
       end;
   until false;
Die mit dem Pfeil markierte Zeile hat keinen Punkt, also könnte man sie doch eigentlich aus dem SourceCode rausnehmen, weil sie eigentlich ausgeführt wird. Wenn ich das aber machen, verfängt sich das Programm in der Endlosschleife (auch die Message-Box wird nicht immer angezeigt und das angezeigte Formular flackert).
Irgendwie optimiert der Compiler hier auf zwei verschiedene Art und Weisen. Aber wenn er die Zeile sowieso übergeht, dann ändert sie doch nichts, oder?

Chris
  Mit Zitat antworten Zitat