Autor Téma: D10.3 - TActionList dublované horké klávesy  (Přečteno 187 krát)

Offline ShaneZB

  • Nováček
  • *
  • Příspěvků: 34
  • Karma: 0
  • HJ-SOFT s.r.o.
    • Verze Delphi: Delphi 10
D10.3 - TActionList dublované horké klávesy
« kdy: 18-05-2021, 09:36:50 »
Ahoj všem.
Mám takový zapeklitý problém: aplikace, původně psaná v D7, a nově překlopená pod D10.3 používá dědění formulářů (více úrovní). TActionList je založen v hlavním rodiči a, mimo jiné, obsahuje tři akce se stejnou horkou klávesou (ESC). Ale protože Enabled=True je vždy jen jedna z těch tří akcí, tak to v pohodě fungovalo (vD7). V D10.3 to ale v některých dceřiných formulářích přestalo fungovat - přesněji řečeno horkou klávesu sežere akce, která je vypnutá = nic se neprovede a ESC se "zahodí" a už se nedostane na tu, která je zapnutá. Ani v jednom dceřiném formuláři se tyto událostní nijak nepřepisují - vše je v režii pouze rodiče.
Google mi nic neporadil, tak to zkouším tady ...
Mám vymyšlené, jak to obejít (při vypnutí akce shodit hotkey; při zapnutí nahodit), ale raději bych zjistil příčinu.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3178
  • Karma: 137
    • Verze Delphi: D2007, XE3, DX10
Re:D10.3 - TActionList dublované horké klávesy
« Odpověď #1 kdy: 18-05-2021, 10:34:38 »
Mám vymyšlené, jak to obejít (při vypnutí akce shodit hotkey; při zapnutí nahodit), ale raději bych zjistil příčinu.
S necim podobnym/stejnym jsem se setkal kdysi, kdyz jsme postavili rodinu aplikaci na dedenych framech a skladalil z nich dedene formulare. Uz si to nepamatuju, protoze to uz je ~20 let, ale rekl bych, ze to bylo dano navrhem, ktery predpokladal 1 form = 1 ActionList. Tenkrat jsme se v tom s Petrem Vonešem stourali, ale nakonec jsme s tim nic nedokazali udelat a pri letmem pohledu do zdrojovek vidim virtualni metody DisableHotKeysWhileEditing / EnableHotKeysWhileEditing, ve kterych jsme nulovali a nastavovali TAction.ShortCut.

Jen me udivuje, ze ti to v D7 fungovalo, nam to nefungovalo hned od D5 nebo kdy se ty framy objevily.

Offline ShaneZB

  • Nováček
  • *
  • Příspěvků: 34
  • Karma: 0
  • HJ-SOFT s.r.o.
    • Verze Delphi: Delphi 10
Re:D10.3 - TActionList dublované horké klávesy
« Odpověď #2 kdy: 18-05-2021, 15:15:16 »
Citace
Jen me udivuje, ze ti to v D7 fungovalo, nam to nefungovalo hned od D5 nebo kdy se ty framy objevily.

Možná proto, že frami využívám velmi sporadicky.