Einzelnen Beitrag anzeigen

Noobmaster

Registriert seit: 18. Jul 2010
114 Beiträge
 
FreePascal / Lazarus
 
#1

SIGSEGV Fehler bei Stringzuweisung

  Alt 19. Apr 2012, 16:49
Hallo Leute!

Folgender Code erzeugt eine SIGSEGV-Fehlermeldung. Der Debugger springt dann in eine Funkion namens TWinControlHandleAllocated, was mir überhaupt nichts sagt.

Delphi-Quellcode:
      IntAltePunkte := StrToInt(LblPunkte1.Caption);
      IntNeuePunkte := IntAltePunkte + IntGeschossen;
      NeueAnzeige := IntToStr(IntNeuePunkte);
      LblPunkte1.Caption := NeueAnzeige;
Das Problem taucht nur auf, wenn die Caption vorher eine negative Zahl angezeigt hat und jetzt eine positive anzeigen soll.
Zeigte die Caption vorher eine negative Zahl an, so erfolgt jede neue Zuweisung einen Fehler:


Delphi-Quellcode:
      IntAltePunkte := StrToInt(LblPunkte1.Caption);
      IntNeuePunkte := IntAltePunkte + IntGeschossen;
      NeueAnzeige := IntToStr(IntNeuePunkte);
      LblPunkte1.Caption := '1';
Eine erneute Zuweisung einer negativen Zahlen erzeugt jedoch keinen Fehler:


Delphi-Quellcode:
      IntAltePunkte := StrToInt(LblPunkte1.Caption);
      IntNeuePunkte := IntAltePunkte + IntGeschossen;
      NeueAnzeige := IntToStr(IntNeuePunkte);
      LblPunkte1.Caption := '-1';
Danke schonmal für die Hilfe .
  Mit Zitat antworten Zitat