![]() |
AW: Edit-Felder auf Inhalt prüfen
Welche Programmierumgebung verwendest du denn? Bist du schonmal über den Debugger Schritt für Schritt durchgegangen?
Was genau läuft nicht so, wie es soll? |
AW: Edit-Felder auf Inhalt prüfen
Zitat:
|
AW: Edit-Felder auf Inhalt prüfen
Na vielleicht erhalten wir ja diesmal eine Antwort, anhand deren man weiterhelfen kann.
|
AW: Edit-Felder auf Inhalt prüfen
Debugger durchgehen?
Also wenn ich das Programm laufen lasse und berechnen will (also die Rechnung, in der Edit1 und Edit2 benutzt werden und in Edit3 das Ergebnis gezeigt wird) zeigt er mir das hier: "Re:= 4*V*Dichte/d/n/3.1416;" rot an. Dazu die Meldung "floating point overflow". Wenn ich F8 drücke (ist das mit debuggen gemeint?) zeigt er mir noch folgendes rot an: "if Re >=2320 then begin edit3.text:= 'Berechnung fehlgeschlagen'; end;". Hab den gleichen Quellcode in eine ältere Version des Programms kopiert, da läufts einwandfrei. Danke, dass ihr mich noch nicht aufgegeben habt :oops: |
AW: Edit-Felder auf Inhalt prüfen
Nochmals die Frage, welche Programmierumgebung.. Lazarus? Delphi?
Du solltest, wenn du auf die Leiste links des Quelltextes klickst, einen Haltepunkt setzen können. Der Debugger sollte dann an dieser Stelle anhalten und du solltest sehen können, welche Werte die Variablen zu diesem zeitpunkt haben. Das erklärt dann möglicherweise schon den Fehler.. |
AW: Edit-Felder auf Inhalt prüfen
Ich benutze Delphi7.
Ok also ich setze den Haltepunkt, die Zeile ist dann mit einem roten Punkt markiert. Dann starte ich mit F9. Wenn ich dann berechnen will, dann kommt wieder die gleiche Fehlermeldung wie beschrieben mit den rot markierten Formeln. |
AW: Edit-Felder auf Inhalt prüfen
Du compilierst den Programm mit F9, es startet ohne Fehlermeldung. Dann trägst du deine Werte in die Edit-Felder ein, klickst den Button zum Berechnen und dein Programm schmiert mit einer Exception "floating point overflow" ab?
Wenn du den Haltepunkt auf die erste Zeile deiner Prozedur (
Delphi-Quellcode:
) setzt - wird dieser Haltepunkt erreicht? Danach kannst du mit F8 Zeile für Zeile weitergehen und prüfen, mit welchen Werten konkret gerechnet wird.
V:= StrToFloat(edit1.Text)/1000;
Floating Point Overflow deutet auf Werte hin, die den Wertebreich deines Datentypen "sprengen", vielleicht ist ja einer deiner Werte nicht korrekt initialisiert. |
AW: Edit-Felder auf Inhalt prüfen
Ja, ich denke er wird erreicht. Es steht nun zumindest ein grünes Häkchen auf dem roten Punkt. Wenn ich dann mit F8 weiter gehe, sind diese Zeilen rot gefärbt:
Delphi-Quellcode:
wenn ich dann nochmal F8 drücke springt er zu
Dichte:= StrToFloat(edit11.Text);
n:= StrToFloat(edit10.Text)/1000000; case combobox2.ItemIndex of
Delphi-Quellcode:
wenn ich ein weiteres mal F8 drücke kommt wieder die Meldung "floating point overflow". Also hängt es mit der letzten Formel zusammen? Bei d ist auch ein anderer Wert angegeben wenn ich die Maus drauf halte. Wie kann das sein? Was muss ich ändern?
Re:= 4*V*Dichte/d/n/3.1416;
|
AW: Edit-Felder auf Inhalt prüfen
Wo wird d denn ein Wert zugewiesen, vor oder nach der Formel?
|
AW: Edit-Felder auf Inhalt prüfen
vorher
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 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-2025 by Thomas Breitkreuz