![]() |
Probleme bei if - then ...
Hallo,
vielleicht ist es auch etwas spät und ich sehe den Wald vor lauter Bäumen nicht, aber ... :wall: folgender Code: (es geht um die fett geschriebene Zeile)
Delphi-Quellcode:
Die Bedingung ist wahr, nur statt die Folgeanweisung abzuarbeiten, springt Delphi an das Ende der Routine. Die zwei Anweisungen frei := i; und exit; macht delphi nicht.
type
TAbschlussRecord = record KontoNr : integer; Soll, Haben : currency; end; TAbschlussArray = array of TAbschlussRecord; a ist vom Typ TAbschlussRecord //kein Konto vorhanden, freien Eintrag suchen if frei = -1 then for I := 0 to length(a) - 1 do if a[i].KontoNr = 0 then //Diese Bedingung wird wahr ... begin frei := I; exit; end; Seht ihr irgendwo einen Syntaxfehler? Ohne begin und end arbeiteit Delphi die Anweisung sauber ab. Gruß Peter [edit=Luckie]Delphi-Tags gesetzt. Beim nächsten mal bitte selber setzen. Mfg, Luckie[/edit] |
Re: Probleme bei if - then ...
Wenn er an das Ende der Routine springt wird es vielleicht doch ausgeführt. Ich denke es hat eher damit zu tun das der Compiler etwas weg optimiert. Schalte am besten mal die Optimierung aus und baue das Projekt neu.
|
Re: Probleme bei if - then ...
Wahrscheinlich steht der Code in einer Prozedur/Funktion.
Da am ende exit kommt, ist die Zuweisung
Delphi-Quellcode:
total irrelevant und wird wegoptimiert. Das Exit ist sowiso ein Sprung zum Prozedurende.
frei := I;
Zum Debuggen also einfach mal die Optimierung abschalten oder Code schreiben, der was bewirkt (wird dann auch nicht wegoptimiert ;) ) |
Re: Probleme bei if - then ...
hmmm, vielen Dank bisher,
wie schalte ich die Optimierung aus? wieso macht Delphi das überhaupt weg? In der Tat beim Debuggen führt er den Teil nicht aus. |
Re: Probleme bei if - then ...
Zitat:
![]() Zitat:
|
Re: Probleme bei if - then ...
ich habe es begriffen, es gibt Tage da sollte man nicht an den PC ...
Ich wollte nicht exit schreiben, sondern break, es sollte nur die Schleife abgebrochen werden. So funktioniert es. Und jetzt leuchtet mir ein, warum Delphi das wegoptimiert, wenn der Compiler exit findet. Nichtdestotrotz, wie schalte ich die Optimierung aus? Vielen Dank nochmals Gruß Peter |
Re: Probleme bei if - then ...
Zitat:
|
Re: Probleme bei if - then ...
würde das nich ir wie so {O+-} gehen?
|
Re: Probleme bei if - then ...
Danke Lucki, den Beitrag habe ich gelesen.
Die Beiträge haben sich überschnitten. Ich bekomme das mit dem schönen eingerücktem Quellcode nicht hin... übe die ganze Zeit, will einfach nicht klappen |
Re: Probleme bei if - then ...
.. auch das hat jetzt geklappt, doch ein versöhnlicher abend. Man muß den Code markieren und auf Quellcode drücken
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 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