Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#1

Warum wird die Exception nicht geworfen ? ( gelöst )

  Alt 1. Dez 2008, 17:33
Hi Leuts,

ich hab hier folgenden Code :

Delphi-Quellcode:
Function ErstellFunction(Value: String): Pointer;
Var
  p: PVariable;
Begin
  new(p);
  p^.Funktionsaufrufzeiger := False;
  setlength(p^.uebergabeparameter, 0);
  p^.Name := 'const';
  p^.Line := -1;
  If (Value = 'true') Or (Value = 'false') Then Begin
    p^.Typ := bool;
    If Value = 'trueThen
      p^.Value := 1
    Else
      p^.Value := 0;
  End
  Else Begin
    p^.Typ := int;
    Try
      p^.Value := strtoint(Value);<-- Hier sollte die Exception geworfen werden ..
    Except
      SolverErrorString := SolverErrorString + #13#10'Error "' + Value + '" is not bool or int ( maybe "' + value + ' is a not declared variable.';
      Raise;
    End;
  End;
  result := p;
End;
Wenn ich dieser Function den Wert Value = 'x1' übergebe dann wirft sie keine Exception und ich versteh nicht warum.

Anbei noch ein Screenshot vom Debugger.

Hat jemand ne Idee was ich da machen kann, oder hab ich einen Compilerswitch vergessen ?

Das Irrwitzige ist übergebe ich z.b. y1 oder auch nur r dann wird eine Exception geworfen. nur bei x1 nicht.

Er wandelt das übrigens zu 1 um
Miniaturansicht angehängter Grafiken
fehler_126.png  
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat