Ich habe heute so fröhlich an meinem Rechner gesessen und zum Spaß ein wenig programmiert, als mir ein Fehler unterläuft den ich absolut nicht verstehe. Nach einigem gesuche habe ich folgenden Test in meinen Quelltext implementiert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| if ARMP then begin sleep(1); if ARMP=true then begin sleep(1); end; if ARMP=false then begin sleep(1); end; end; |
ARMP ist ganz nebenbei vom Typ boolean. Aber wie ist der Test im Debugmodus verlaufen? Nun, die Abfrage "if ARMP then" hat er bestätigt und den Block danach ausgeführt. Das Debugfenster zeigte mir an, dass ARMP den Wert true hat. Die Abfrage "if ARMP=true" hat Delphi dann aber nicht mehr ausgeführt - das hat mich irgendwie verwundert. Aber dass er dann auch (obwohl irgendwo es auch zu erwarten war) die Abfrage "if ARMP=false" nicht ausführte habe ich mich dann doch entschlossen euch mal wieder zu schreiben.
Ist euch soetwas auch schon mal passiert?
Wie lässt sich das beheben?
MfG Scavo
P.S.: Noch anzumerken ist, dass ich weiß, dass heute kein 1. April ist - auch wenn das ganze irgendwie nach einem Scherz klingt...