Autor Téma: Actionmanager nefungujú mi ShortCut  (Přečteno 225 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4325
  • Karma: 38
    • Verze Delphi: XE7 professional
Actionmanager nefungujú mi ShortCut
« kdy: 06-05-2019, 10:36:34 »
V jednej aplikácii mi to funguje bez problémov, tak som to riešenie preniesol do druhej aplikácie. Ale nefungujú :'(
  • KeyPreview = True
  • ShortCut sú nastavené. Mám to overené
  • Ostatné ActionManager sú bez ShortCut
Má niekto tip v čom by mohol byť problém? Okrem mňa!
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online Delfin

  • Padawan
  • ******
  • Příspěvků: 1812
  • Karma: 70
  • SW konzultant
    • Verze Delphi: 2009, Tokyo, Rio
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #1 kdy: 06-05-2019, 17:10:48 »
V jednej aplikácii mi to funguje bez problémov, tak som to riešenie preniesol do druhej aplikácie. Ale nefungujú :'(
  • KeyPreview = True
  • ShortCut sú nastavené. Mám to overené
  • Ostatné ActionManager sú bez ShortCut
Má niekto tip v čom by mohol byť problém? Okrem mňa!

Zminujes KeyPreview; vim ja, nema Tvuj form trebas handler udalosti OnKeyDown (nebo jejich kamaradu) kde bys klavesy zkratek action manageru "polykal" (modifikoval)?
« Poslední změna: 06-05-2019, 17:12:27 od Delfin »
I'm a soldier, so don't panic! I know the underground! I like the WTFPL license! No more Google, go duck, go!

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4325
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #2 kdy: 06-05-2019, 19:13:56 »
Nefunguje mi to na všetkých miestach kde som to skúšal. Tri formuláre s asi spolu 25 - 30 pod formulármi. Ja neviem, žeby niekde niečo také použil. Ale preverím. Ďakujem za tip.
Dnes som celý deň nič iné nerobil, len všetko kontroloval a porovnával s funkčným projektom. Výsledok je nulový.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4325
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #3 kdy: 06-05-2019, 20:26:27 »
Nič som nenašiel. Tipovacia súťaž pokračuje.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online vandrovnik

  • Guru
  • *****
  • Příspěvků: 705
  • Karma: 41
    • Verze Delphi: 10.3
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #4 kdy: 07-05-2019, 10:46:29 »
Nemáš zároveň vytvořený jiný formulář, který používá stejnou zkratku? Dřív aplikace přednostně testovala zkratky pro aktuální formulář, ale od nějaké verze to tak nedělá, takže se místo akce v aktuálním formuláři spustí akce formuláře, který třeba ani není zobrazený, jen je vytvořený (a možná vlastněný tím aktuálně zobrazeným formulářem).

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4325
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #5 kdy: 07-05-2019, 11:28:04 »
Mám vytvorený a skrytý hlavný formulár aplikácie. Tam si to skontroloval a žiadne skratky tam nemám.
Nemám tam ani skratky typu "&Prvý", ktoré automaticky vytvára ActionManager. Ale tie na iných formulároch nevadia.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Morrison

  • Hrdina
  • ****
  • Příspěvků: 252
  • Karma: 10
    • Verze Delphi: D5, XE2
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #6 kdy: 07-05-2019, 11:38:34 »
A do události Form.OnShortcut se ti to dostane?
nil

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4325
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #7 kdy: 07-05-2019, 12:06:56 »
Mám frmMeter a na ňom 3 podfromuláre (frmsubMeter, frmsubMeterType a frmsubMeterPenalty). Do frmMeter.OnShortcut sa dostane. Do ostatných nie. Dal som tam ShowMessage(). A to už pri stlačení klávesu Ctrl. Začalo mi to reagovať. Síce zle, ale to je asi spojené so zobrazením hlášky.
Na frmMeter nemám žiaden ActionManager. Je tam AdvOfficePager a pár drobností.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4325
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #8 kdy: 07-05-2019, 12:10:42 »
Oprava: reaguje to správne :)
To je veľký pokrok.
Už mi len treba vysvetliť o čo ide a ako to napraviť.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4325
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #9 kdy: 07-05-2019, 14:31:20 »
Medzitým som nainštaloval nový balík TMS component pac a Cryptography. Neviem či to môže mať na to vplyv.
Ja už neviem čo si mám o tom myslieť. Udalosť frmMeter.OnShortcut zbehne, ale výsledok je asi podľa počasia.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online vandrovnik

  • Guru
  • *****
  • Příspěvků: 705
  • Karma: 41
    • Verze Delphi: 10.3
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #10 kdy: 07-05-2019, 17:14:31 »
nenastavil sis tedy u nějaké akce klávesovou zkratku samotné Ctrl? ;-)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4325
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Actionmanager nefungujú mi ShortCut
« Odpověď #11 kdy: 07-05-2019, 21:34:03 »
Kód: Delphi [Vybrat]
  1. procedure TCustomNavigator.SetShortCut;
  2. begin
  3. //ShowMessage('SetShortCut - '+oGlobalVar.ActualObject.Vst.Name);
  4.   if FActToolBar.CanFocus then
  5.   begin
  6.     FActions[naFirst].ShortCut := ShortCut(Word('F'), [ssCtrl]);
  7.     FActions[naBefor].ShortCut := ShortCut(Word('B'), [ssCtrl]);
  8.     FActions[naNext].ShortCut := ShortCut(Word('N'), [ssCtrl]);
  9.     FActions[naLast].ShortCut := ShortCut(Word('L'), [ssCtrl]);
  10.     FActions[naInsert].ShortCut := TextToShortCut('Ins');
  11.     FActions[naDelete].ShortCut := TextToShortCut('Del');
  12.     FActions[naEdit].ShortCut := ShortCut(Word('E'), [ssCtrl]);
  13.     FActions[naPost].ShortCut := ShortCut(Word('S'), [ssCtrl]);
  14.     FActions[naCancel].ShortCut := TextToShortCut('Esc');
  15.     FActions[naPrint].ShortCut := ShortCut(Word('P'), [ssCtrl]);
  16.   end;
Ako je vidieť NIE. Ono to tam vlezie pri stlačení akéhokoľvek klávesu. Aj kurzorových šípok a spol.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.