Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi bug in radiogroup? (https://www.delphipraxis.net/51793-bug-radiogroup.html)

ferby 18. Aug 2005 21:57


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:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  radiogroup1.ItemIndex:=1;
end;
Wenn ich auf den Button drücke wird das Programm geschlossen.

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.

jfheins 18. Aug 2005 22:08

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:
RadioBox.OnClick := nil;
ItemIndex := xyz;
RadioBox.OnClick := MyOnClickMethod;
Ist bei anderen Klassen auch so ;)

Luckie 18. Aug 2005 22:23

Re: bug in radiogroup?
 
Das ist das normale verhalten. Beim Setzen wird das OnClick Ereigniss ausgelöst.

faux 18. Aug 2005 22:30

Re: bug in radiogroup?
 
Das ist IMHO aber bei jeder Komponente. Nicht nur bei RadioGroups.

ferby 18. Aug 2005 22:38

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

Luckie 18. Aug 2005 22:40

Re: bug in radiogroup?
 
Logischerweise nur bei denen, die ein richtiges haben, wie zum Beispiel bei Checkboxen und der gleichen. :roll:

Sharky 19. Aug 2005 06:04

Re: bug in radiogroup?
 
Hai,

interessant ist das beim setzen des ItemIndex einer TListBox oder TListView das OnClick nicht ausgelösst wird. :cry:

RavenIV 19. Aug 2005 07:14

Re: bug in radiogroup?
 
Zitat:

Zitat von Sharky
Hai,

interessant ist das beim setzen des ItemIndex einer TListBox oder TListView das OnClick nicht ausgelösst wird. :cry:

bei einer Liste klickt man ja normalerweise auch nicht drauf. :-()
da würde es überhaupt keinen sinn machen, das onClick auszulösen...

gruessle


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz