Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#8

AW: Überlauf bei Rechenoperation mitbekommen

  Alt 4. Apr 2014, 22:51
Also ich weiß nicht wie das in höheren Delphi Versionen ist, aber
Delphi-Quellcode:
begin
  {$Q+}
  ...
  {$Q-}
end;
beide Direktiven in einer Funktion klappt nicht bei mir. Wenn am Ende {$Q-} steht, hat bei mir {$Q+} am Anfang keine Wirkung. Es gibt bei mir keine Fehlermeldung.

Was bleib ist es auf zwei Funktionen zu verteilen:
Delphi-Quellcode:
function IncByte(var X: Byte; N: Byte = 1): Boolean;
  procedure IncTest;
  begin
    {$OverFlowChecks On}
    Inc(X, N);
  end;
var
  X2: Byte;
begin
  X2 := X;
  try
    IncTest;
    {$OverFlowChecks Off}
    Result := False;
  except
    on EIntOverflow do
    begin
      {$OverFlowChecks Off}
      X := X2;
      Inc(X, N);
      Result := True;
    end;
  end;
end;
  Mit Zitat antworten Zitat