Programmabsturz bei leerem eingabefeld...
-
Bevor du mit deiner Berechnung anfängst kannst du doch prüfen ob in den Variabeln ein Wert steht.
Wenn nicht dann kannst du doch null rein setzten.
z.B.:if(m_eingabe == NULL) { m_eingabe = 0; } else { //....Deine Berechnung }MFG
RS
-
Naja,... und wenn jetzt die Berechnung so aussieht: x = 10 / m_eingabe ?
-
if(m_eingabe == NULL) { doNothingLoop();//Von MS geklaut! :D } else { berechnung(); }
-
Ah, ja.
[edit]
Von MS geklaut!
Dann muss es ja funktionieren !

[/edit]
-
Ist doch eine Lösung oder?

-
Bei mir funktioniert so eine Abfrage weder auf einen int, noch auf einen CString:
if(m_eingabe == NULL)Leider wird ja der fehlerhafte Code nicht gezeigt...
-
Das sollte ja auch nur ein beispiel sein wie man sich wenigstens etwas absichern könnte.
Wenn ich jetzt den Code hier hätte könnte ich natürlich auch etwas eleganteres und sinngemäses schreiben.
Da ich aber weder weis welche berechnung er/sie hat, noch wie sein/ihr Code aussieht kann ich nur raten.
Denn was anderes passiert in diesem Forum zu 80% eh nicht.
Eine 99,9%ige Antwort kann man nur geben wenn man in dem Thema ist, wenn man den Code hat und wenn man genau weis wie das problem zu lösen ist.
All diese möglichkeiten sind aber meist nicht gegeben.
Deswegen NUR ein Beispiel.MFG
RS
-
ReneS schrieb:
Das sollte ja auch nur ein beispiel sein wie man sich wenigstens etwas absichern könnte.
Wenn ich jetzt den Code hier hätte könnte ich natürlich auch etwas eleganteres und sinngemäses schreiben.
Da ich aber weder weis welche berechnung er/sie hat, noch wie sein/ihr Code aussieht kann ich nur raten.
Denn was anderes passiert in diesem Forum zu 80% eh nicht.
Eine 99,9%ige Antwort kann man nur geben wenn man in dem Thema ist, wenn man den Code hat und wenn man genau weis wie das problem zu lösen ist.
All diese möglichkeiten sind aber meist nicht gegeben.
Deswegen NUR ein Beispiel.MFG
RS
Es tat bei mir aber auch nicht.
Ich habe mittlerweile die Ursache genau gefunden. Es liegt an den Integer Eingabefeldern. Denn bei allen Integerfeldern beendet sich das Programm wenn die Felder leer sind, egal ob damit gerechnet wird, oder nicht.
Ich habe jetzt alle meine Eingabefelder als CString Definiert, und mir eine Umrechnungsfunktion erstellt, dauert jetzt noch ein bischen, bis ich das mit allen eingabefeldern gemacht habe, aber es klappt hervoragend.
Danke noch mal für eure Hilfe....

-
Das kann/darf aber nicht die Ursache sein.
Denn Ob ein Eingabe Feld jetzt ein Integer oder einen String beherbergt ist für das eigentliche Programm scheissegal.
Rein Teopraktisch muss es an etwas anderem liegen.
Aber schön das es jetzt geht.MFG
ReneS
-
ReneS schrieb:
Das kann/darf aber nicht die Ursache sein.
Denn Ob ein Eingabe Feld jetzt ein Integer oder einen String beherbergt ist für das eigentliche Programm scheissegal.
Rein Teopraktisch muss es an etwas anderem liegen.
Aber schön das es jetzt geht.MFG
ReneS
Ja, das habe ich ja auch gedacht.
Und dann habe ich einfach ein neues Eingabefeld mit einer Integer Variable erstellt, ohne jegliche Funktion. Programm gestartet. Zahl gelöscht. Programm hat sich beendet....
Nun ja, vielleicht hab ich irgendwo im Quellcode noch Müll stehen, bin gerade am ausmissten.... Weil ich habe so viel rumprobiert, da liegt jetzt so viel Müll drinn...
