![]() |
Stacküberlauf
Ich erhalte bei der unten notierten Stelle meines Quelltextes, immer einen Stacküberlauf. Ich habe das mal mit nem Breakpoint (rote Linie) versehen. Es wird immer wieder ausgeführt, wie in einer Schleife ohne Ende, !!!ABER DA IST KEINE SCHLEIFE!!! :wall:
Das ist ein Ausschnitt aus meinem Quelltext, das ist die Procedure des OnClick von zwei RadioButtons (verweisen also beide darauf) Da es aber manchmal vom Prog selbst (also ohne Klick) ausgeführt werden muss und der Checkedpunkt auch übernommen werden soll, habe ich die ersten drei Zeilen bis zu der mit -> gekennzeichneten reingeschrieben. Bei der Zeile mit dem Pfeil hängt er sich dann auf! Warum? Wenn ich die Zeile wegnehme klappt's!
Delphi-Quellcode:
Bin schonwieder ratlos? *Sowas ähnliches hatte ich schonmal, ich habs rausgelöscht und Zeichen für Zeichen abgetippt, dann gings, sowas macht mich rasend :evil:
{$R *.dfm}
procedure TWSForm.WasserCheckClick(Sender: TObject); var Einheit: String; begin WasserCheck.Checked := false; StromCheck.Checked := False; -> TRadioButton(Sender).Checked := True; Einheit := TRadioButton(Sender).Hint; Bitte helfen! |
Re: Stacküberlauf
Hallo F.W.!
Ich denke das Problem ist, dass du der property Checked der aufrufenden Komponente (sender) einen Wert zuweist, hierbei wird aber die OnClick-Methode ausgelöst! Ein Verändern dieser property löst automatisch die Onclick-Methode aus. Und schon hast du deine Endlosschleife (die Prozedur ruft sich immer wieder selbst auf). Viele Grüße, Sebastian |
Re: Stacküberlauf
Stimmt! Hab ich noch nie gemerkt! Danke!
|
Re: Stacküberlauf
mist, das problem kenn ich doch
:-D bzw eher :wall: :wall: :wall: es lebe die rekursion!!! :-D |
Re: Stacküberlauf
:x :evil: ich hasse diese verdammten rekursionen die haben wir bei einem Test den 3 eingebracht :lol:
|
Re: Stacküberlauf
Moin Zusammen,
dieses Verhalten wird übrigens in der Hilfe zu TControl.OnClick beschrieben. Zumindest bei D2, D5, D6 und D7. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:55 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