![]() |
bug in radiogroup?
Hallo,
Ich habe ein rißen Programm geschrieben in dem es immer wieder zu Fehler kam... Nach fast 1 Stunde hatte ich endlich den Fehler gefunden. Ich ändere während das Programm läuft den ItemIndex einer Radiogroup.. und was passiert... die clickprocedure von der Radiogroup wird ausgelößt.. WARUM?? Ich klicke nie auf die RadioGroup! Ich habe jetzt alles totall vereinfacht. Macht eine Form mit einen Button und einer RadioGroup die ein Item hat mit diesen Quellcode:
Delphi-Quellcode:
Wenn ich auf den Button drücke wird das Programm geschlossen.
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin close; end; procedure TForm1.Button1Click(Sender: TObject); begin radiogroup1.ItemIndex:=1; end; Kann mir jemand erklären was das für einen Sinn hat, ist das ein Bug oder hat das doch irgendwie einen Sinn? Bin dankbar für jede Antwort. |
Re: bug in radiogroup?
Du gebrauchst das OnClick für eine Änderung der Selektierung, es ist also kein reines "OnClick" mehr, sondern eher ein "OnChangeSelektion" - nur dass diese Ereignisse quasi identisch sind ;)
Lösung:
Delphi-Quellcode:
Ist bei anderen Klassen auch so ;)
RadioBox.OnClick := nil;
ItemIndex := xyz; RadioBox.OnClick := MyOnClickMethod; |
Re: bug in radiogroup?
Das ist das normale verhalten. Beim Setzen wird das OnClick Ereigniss ausgelöst.
|
Re: bug in radiogroup?
Das ist IMHO aber bei jeder Komponente. Nicht nur bei RadioGroups.
|
Re: bug in radiogroup?
Hallo,
was heißt bei jeden Komponenten??? Es hat ja nicht jeder einen itemindex? Wenn ich die caption eines labels änder dann wird auch kein onclick ereigniss ausgelößt. ferby |
Re: bug in radiogroup?
Logischerweise nur bei denen, die ein richtiges haben, wie zum Beispiel bei Checkboxen und der gleichen. :roll:
|
Re: bug in radiogroup?
Hai,
interessant ist das beim setzen des ItemIndex einer TListBox oder TListView das OnClick nicht ausgelösst wird. :cry: |
Re: bug in radiogroup?
Zitat:
da würde es überhaupt keinen sinn machen, das onClick auszulösen... gruessle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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