[Delphi] Jak stornovat vykonání procedury

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Honzis10 26. 3. 2020 11:55

Ahoj,
možná mám trochu začátečnický dotaz, ale jde nějak stornovat právě vykonávanou proceduru a vrátit jí na začátek? Dejme tomu, že uživatel klikne na radiogroup a chce změnit jeho hodnotu. Potřebuji, aby událost v onClick při určité podmínce vůbec nenastala a radigroup zůstal na původní hodnotě a uživateli nedovolil jeho hodnotu změnit (onClick se vůbec nevykonal). V gridu mi v onSelectCell funguje Abort (Exit ne). Pokud ho vyvolám, zůstane uživatel na původním řádku gridu a nic se nezmění i když kliknul myší na jiný řádek, ale v Radiogroupu, i když dám při určité podmínce Abort, tak se stejně překlikne na jinou hodnotu.
Honzis10
Kolemjdoucí

Odeslat příspěvekod JanFiala 26. 3. 2020 12:16

Tohle se normálně řeší jinak - nestornovává se procedura, ale zabrání se uživateli, aby tam kliknul.
Proč jej chceš nechat kliknout na radiogroup, když vlastně nechceš, aby tam kliknul? To je pro uživatele matoucí.

Můžeš použít ActionList a v OnUpdate ošetřit (povolovat/zakazovat) komponenty. Nebo to můžeš udělat rovnou v událostech ostatních ovládacích prvků. Třeba když má být RadioGroup dostupný pouze v případě, kdy je zaškrtnutý checkbox, tak jej povolím/zakážu v události toho checkboxu
Co můžeš udělat dnes, odlož na včerejšek
JanFiala
Expert
Uživatelský avatar

Odeslat příspěvekod Honzis10 26. 3. 2020 12:27

Hahaha, to se povedlo, já se jmenuji taky Jan Fiala :-)

Zpět k tématu: Potřebuji v okamžiku, kdy uživatel provedl na kartě nějaké změny a pak klikne na RadioGroup, aby vyskočilo upozornění, zda chce změny uložit a pokud dá storno, tak aby se vůbec nic nestalo. Tedy hodnota RadioGroupu zůstala nezměněna. Díky moc za radu.
Honzis10
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků