Einzelnen Beitrag anzeigen

bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

wann wird eine If Abfrage verlassen

  Alt 19. Jan 2015, 09:52
wir verwenden folgenden Code

Delphi-Quellcode:
  If (length(ValueA)=0) or (length(ValueA)> 0 and ValueA[0] < 1) then
     begin
        doA(...);
     end
     else
     begin
        doB(...)
     end;


Auf einem Arbeitsplatzsystem (Win7, DELPHI XE2) wird der gesamte Code fehlerfrei ausgeführt. Dh. Falls die Länge von ValueA = 0 dann verzichtet er auf eine Prüfung von (length(ValueA)> 0 and ValueA[0] < 1);

Auf einem zweiten System versucht sich aber immer auch noch an der Prüfung von (length(ValueA)> 0 and ValueA[0] < 1) und wirft eine AV wenn length(ValueA)=0.
Warum bricht Delphi die Abfrage nicht immer ab wenn die erste Bedingung erfüllt ist, die zweite bräuchte er ja nicht mehr zu prüfen ...
  Mit Zitat antworten Zitat