AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SIGSEGV Fehler bei Stringzuweisung

Ein Thema von Noobmaster · begonnen am 19. Apr 2012 · letzter Beitrag vom 21. Apr 2012
Antwort Antwort
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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#2

AW: SIGSEGV Fehler bei Stringzuweisung

  Alt 19. Apr 2012, 16:53
Hat es einen Grund, dass Du VCL-Controls als Datenspeicher missbrauchst? Wenn Du Dir die Werte in entsprechenden Variablen merkst, damit rechnest und das Label lediglich zur Ausgabe benutzt, kommt der Fehler dann immer noch?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Noobmaster

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

Missbrauch von Komponenten

  Alt 19. Apr 2012, 17:00
Bin noch nicht so sauber im Programmieren xD. Aber es klingt plausibel .
Ich änder es mal und schreib zurück wie es funktioniert hat.
Danke für die schnelle Antwort.
  Mit Zitat antworten Zitat
Noobmaster

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

AW: SIGSEGV Fehler bei Stringzuweisung

  Alt 19. Apr 2012, 17:13
Verbesserter Code führt zum gleichen Fehler:
Delphi-Quellcode:
      Spieler1.Punkte := Spieler1.Punkte + IntGeschossen;
      LblPunkte1.Caption := IntToStr(Spieler1.Punkte); //Anzeige aktualisieren
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#5

AW: SIGSEGV Fehler bei Stringzuweisung

  Alt 19. Apr 2012, 17:33
Das kann ich hier mit meiner etwas betagten Lazarus-Version(0.9.28.2) auf Win7 32Bit nicht nachvollziehen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Noobmaster

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

AW: SIGSEGV Fehler bei Stringzuweisung

  Alt 19. Apr 2012, 17:39
0.9.30.04 ist meine Versionsnummer. Kann das wirklich an der Version liegen?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz