![]() |
Re: Fehlersuche
Zitat:
|
Re: Fehlersuche
Das wäre aber ein logischer Fehler und uns nicht ersichtlich.
Dann könnten wir ihm aber auch gleich eine performante endgültige Lösung hinkauen ... |
Re: Fehlersuche
xD
das fänd ich zwar auch nicth schlecht ich würde aber lieber verstehen wo mein fehler ist ^^ |
Re: Fehlersuche
Dann setz doch einen Haltepunkt, steppe mit F8 durch und schau, wo es knallt.
|
Re: Fehlersuche
Hallo,
das kann nicht gehen:
Delphi-Quellcode:
Ein String fängt bei 1 an und nicht bei 0 (bzw. in Pascal steht/stand im nullten Byte die Länge des Strings, das ist hier aber sicherlich nicht der gewünschte Wert).
y:= StrToInt(Copy(Edit1.Text,0,1));
Vorschlag:
Delphi-Quellcode:
Zuerst mal alle Leerzeichen wegwerfen (Trim).
y:= StrToIntDef(Copy(Trim(Edit1.Text),1,1),1);
Vom Rest das erste Zeichen nehmen (Copy 1,1). Wenn das schief geht wird eine 1 geliefert (StrToIntDef) Der Vorgabewert kann natürlich geändert werden. Am Besten am Anfang von Button1Click eine Fehlerprüfung einbauen:
Delphi-Quellcode:
Alternativ statt TEdit ein TMaskEdit benutzen, das kann so konfiguriert werden, dass nur Zahlen eingegeben werden können. Spart den Ärger mit nicht in Zahlen umzuwandelnde Zeichen, die Prüfung auf Leerstring sollte aber auch bei TMaskEdit erfolgen.
Edit1.Text := Trim(Edit1.Text);
If Edit1.Text = '' then begin ShowMessage('Bitte irgendwas in Edit1.Text eingeben.'); Exit; end; If StrToIntDef(Edit1.Text,-99) = -99 then begin ShowMessage('Bitte eine Zahl in Edit1.Text eingeben.'); Exit; end; Warum
Delphi-Quellcode:
Memo1.Text := Pchar(Memo1.Text + 'a');
Delphi-Quellcode:
reicht vollkommen aus.
Memo1.Text := Memo1.Text + 'a';
|
Re: Fehlersuche
ich bekomme es nicht hin mit dem Breakpunkt...
auch nicht mit Tutorial .... ich werde mein Fehlerhaftes Programm jetzt als Selbstentpackendes Archiv (deswegen .exe) hochladen und hoffe ihr findet den fehler ... |
Re: Fehlersuche
Zitat:
EInen Breakpoint setzt man mit F5. Das Programm ganz normal mit F9 laufen lassen und wenn der Code dann die Stelle mit dem Haltepunkt kommt hält es an. Mit F7 kann man in eine Funktion / Prozedur hineinspringen und mit F8 kann man die markierte Zeile ausführen ohne hineinzuspringen. Mit der Maus auf Variablen zeigen zeigt den Wert dieser Variablen an. Das sollte doch ausreichen für den Anfang. Wo klemmt es denn? |
Re: Fehlersuche
es klemmt da, dass ich nur eine procedur habe und das ist der klick auf den button. Aber sofort wenn ich auf ihn klicke
/egal ob mit oder ohne Breakpoint) krieg ich diese fehlermeldung mit einer CPU stelle mit der ich rein garnichts anfangen kann, da ich keine arnung habe was die jetzt besagt ... CPU-Wert ist Zitat:
|
Re: Fehlersuche
Dann setz den Breakpoint doch gleich mal auf die erste Zeile dieser Prozedur nach dem begin.
Dann hält die an, bevor Du in den Fehler läufst. |
Re: Fehlersuche
hab ich
der hält erst an wenn ich die fehlermedung bekomme und der Aufruf-Stack sagt Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 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