Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RadioGroup OnClick (https://www.delphipraxis.net/125636-radiogroup-onclick.html)

mkmk 9. Dez 2008 11:45


RadioGroup OnClick
 
Guten Tag allerseits

Im Event Onclick der RadioGroup frage ich: 'Sind Sie sicher?'
Falls der Benutzer mit nein antwortet, setze ich ItemIndex auf den alten Wert (den ich im Tag zwischengespeichert hatte) und verlasse die Procedure.

Nur: sobald ich ItemIndex auf den alten Wert setze, wird die Procedure nochmals aufgerufen.
Ich habe daraufhin herumprobiert und festgestellt, dass der Ausdruck OnClick etwas unglücklich gewaehlt wurde: OnIndexChanged waere treffender.

Ich weiss nicht, wie ich dieses Problem angehen soll: Dass also Nachgefragt wird, und beim Setzen des anfaenglichen ItemIndex Wertes die Procedure nicht noch einmal aufgerufen wird.

Dank im voraus.

DeddyH 9. Dez 2008 12:22

Re: RadioGroup OnClick
 
Ich würde mir ganz einfach ein Bool'sches Feld definieren, dass per Default auf false steht. Bevor Du den ItemIndex selbst setzt, stellst Du auf true um und fragst im OnClick-Event dieses Feld ab. Anschließend wieder auf false switchen.

mkmk 9. Dez 2008 12:31

Re: RadioGroup OnClick
 
Gute Idee! Aber da man ja (soweit mir bekannt) in Delphi keine statischen Variablen definieren kann, müsste diese von Dir vorgeschlagene Variable global sein. Und so wie ich mich kenne werde ich mich nach 6 Monaten fragen: 'Wozu war denn die schon wieder?'

Ich habe jetzt auf eine Combobox umgestellt. Dort habe ich dieses Problem nicht.
Waere aber weiterhin an einer Lösung interessiert, die dieses Problem radikal angeht.

nachti1505 9. Dez 2008 12:37

Re: RadioGroup OnClick
 
Sicherheitsfrage im OnMouseDown / OnMouseUp stellen

mkmk 9. Dez 2008 12:44

Re: RadioGroup OnClick
 
RadioGroup hat keine OnMouseDown / OnMouseUp Events.
Und das würde die Sache - selbst wenn so lösbar - für mich sehr unübersichtlich machen. Ich bin noch Lehrling in Sachen Delphi, und möchte die Situation vermeiden, wo ich vor lauter Baeume den Wald nicht mehr sehen kann.


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