Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RadioGroup ItemIndex OnClick Probelm (https://www.delphipraxis.net/29440-radiogroup-itemindex-onclick-probelm.html)

Joergie 9. Sep 2004 09:31


RadioGroup ItemIndex OnClick Probelm
 
Hallo,
ich habe 2 RadioGroups mit Events-OnClick

Delphi-Quellcode:
procedure RadioGroup1.OnClick();
begin
  ...
  RadioGroup2.ItemIndex := 2;
end;


procedure RadioGroup2.OnClick();
begin
  ...
  RadioGroup1.ItemIndex := 2;
end;
Dies verusacht eine Endlosschleife, weil wenn ich den ItemIndex einer RadioGroup neu setze, auch wieder das OnClick Ereignis aufgerufen wird.

Was kann ich machen, damit dies nicht passiert?

~joerg

Bernhard Geyer 9. Sep 2004 09:35

Re: RadioGroup ItemIndex OnClick Probelm
 
Definiere in deiner Unit einen Merker in folgender Art verwendest:
Delphi-Quellcode:
procedure RadioGroup1.OnClick();
begin
  ...
  if not FInClick then
  begin
    FInClick := True;
    RadioGroup2.ItemIndex := 2;
    FInClick := False;
  end;
end;


procedure RadioGroup2.OnClick();
begin
  ...
  if not FInClick then
  begin
    FInClick := True;
    RadioGroup1.ItemIndex := 2;
    FInClick := False;
  end;
end;

Die Muhkuh 9. Sep 2004 09:38

Re: RadioGroup ItemIndex OnClick Probelm
 
Mal ne Frage:

was bringt das? Man kann ja nur das zweite Item anwählen, da es ja immer gesetzt wird? Irgendwie ist das nicht logisch?

Sharky 9. Sep 2004 09:40

Re: RadioGroup ItemIndex OnClick Probelm
 
Oder schalte das OnClick-Event in der Methode ab:
Delphi-Quellcode:
procedure TForm1.RadioGroup1Click(Sender: TObject);
var
  onclick : TNotifyEvent;
begin
  onclick := RadioGroup2.OnClick; // OnClick-Methode speichern
  RadioGroup2.OnClick := nil; // OnClick "Abschalten"
  // Dein Code;
  RadioGroup2.OnClick := onclick; // OnClick wieder zuweisen.
end;
[Edit]Hatte da einen "kleinen" Fehler ;-)

Joergie 9. Sep 2004 09:47

Re: RadioGroup ItemIndex OnClick Probelm
 
Zitat:

Zitat von Sharky
Oder schalte das OnClick-Event in der Methode ab:

Danke, das hat schon geholfen. Auch danke für die anderen Vorschläge!

~joerg


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 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