|
|
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, на кнопку повесил событие Action, в событие выставлено свойство ShortCut. Проблема в том если форма открыта одна(форма1), тогда событие идеально отрабатывается при нажатие клавиши, если открыть еще одну форму(форма2) и нажать клавишу тогда событие выполнится с формы1 а не с формы2 как это должно быть. Подскажите как это можно исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 12:44 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
neteurt Здравствуйте, на кнопку повесил событие Action, в событие выставлено свойство ShortCut. Проблема в том если форма открыта одна(форма1), тогда событие идеально отрабатывается при нажатие клавиши, если открыть еще одну форму(форма2) и нажать клавишу тогда событие выполнится с формы1 а не с формы2 как это должно быть. Подскажите как это можно исправить? Прописать в Action.OnUpdate что она включена только когда активна первая форма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 12:46 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
alekcvp, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Так? только возникает еще ошибка Incompatible types: 'TShortCut' and 'string' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 13:00 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
... System.Classes.TShortCut = Low(Word)..High(Word); ... Для вашего случая (F7): actGoFilter.ShortCut := 118; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 13:17 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
kapas, Код: pascal 1. это для чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 13:19 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
neteurt kapas, Код: pascal 1. это для чего? это чтобы было понятно, какого тип у TShortCut ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 13:29 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
как правильно написать проверку на активность формы? Код: pascal 1. 2. 3. 4. получаю ошибку "access violation at address" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 13:35 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Правильнее всего будет выкинуть Action вообще. Повесить ShortCut прямо на соответствующий пункт меню каждой из форм. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 13:46 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
kapas ... System.Classes.TShortCut = Low(Word)..High(Word); ... Для вашего случая (F7): actGoFilter.ShortCut := 118; Для любого случая Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 13:53 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Правильнее всего будет выкинуть Action вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 13:54 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Соколинский БорисПравильнее управлять через ActionList.State Могло бы быть правильнее, если бы TActionList не программировали криворукие индусские студенты. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 14:00 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
я уже все варианты перепробовал, но все равно срабатывает событие с другой формы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 14:21 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Могло бы быть правильнее, если бы TActionList не программировали криворукие индусские студенты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 14:44 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Соколинский Борискоторый легко лечится. Как исцелить пожирание процессора бесконечным циклом опроса состояния в OnIdle? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 14:48 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
neteurt, Код: pascal 1. 2. 3. 4. 5. Теоретически этого должно хватить. Dimitry Sibiryakov Соколинский Борискоторый легко лечится. Как исцелить пожирание процессора бесконечным циклом опроса состояния в OnIdle? А это в какой версии дельфей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 16:01 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
alekcvpА это в какой версии дельфей? Практически сразу с появления ActionList. В 2006 это ещё не так заметно, а в ХЕ оно уже может сожрать и 4% от старенького ноутбука. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 16:21 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov alekcvpА это в какой версии дельфей? Практически сразу с появления ActionList. В 2006 это ещё не так заметно, а в ХЕ оно уже может сожрать и 4% от старенького ноутбука. Ну хз, у меня в 10.3 не жрёт. Правда у меня и не старенький ноутбук. Но тут проблема явно не в ActionList'е. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 16:39 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
alekcvp, не помогло, да и данный код включит все Actions по порядку, сразу на первой форме, потом на второй и т.д. формы открываются в виде в кладок в компоненте PageControl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 16:51 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Как исцелить пожирание процессора бесконечным циклом опроса состояния в OnIdle? Согласен, фича так себе. Но, с другой стороны я не вижу корректного способа отслеживать все возможные изменения, которые могут понадобиться для корректной работы. Например, как он узнает, что после выполнения потока нужно обновится? Или события, не связанного с WM_XXX? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 17:17 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Соколинский БорисНапример, как он узнает, что после выполнения потока нужно обновится? Я бы сказал "никак". Не его это дело, а кода, обрабатывающего результат завершения потока. Но курс партии на "каждая домохозяйка должна быть способной создать хоть как-то работающее приложение в Дельфи" со мной не согласен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 17:25 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, я тоже не согласен. С трудом представляю себе архитектуру сложного приложения, где бы такой способ не вызывал лишний геморрой и баги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 17:30 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Соколинский БорисС трудом представляю себе архитектуру сложного приложения Обычная модульная архитектура. Поток, вещь в себе, по завершении рапортует своему контролёру "я завершился", а что тот сделает - ему безразлично. Контролёр же знает кому надо разослать уведомления о завершении потока, чтобы какие-нибудь кнопки или пункты меню изменили своё состояние. Всё. Совершенно никому не нужно 20 раз в секунду опрашивать всех и изменять состояние всех. PS: Более глобально это называется "event-driven architecture", которую почему-то может вкурить не каждый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 17:46 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Контролёр же знает кому надо разослать уведомления о завершении потока, чтобы какие-нибудь кнопки или пункты меню изменили своё состояние Соответственно, должно быть 100500 идентификаторов Петей, и даже если базовый функционал прописан в родительской форме, на каждой дочерней должен быть перекрыт обработчик. Это и есть геморрой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 17:55 |
|
||
|
Горячие клавиши ShortCut
|
|||
|---|---|---|---|
|
#18+
Соколинский БорисТеперь представим себе приложение, в котором 100500 разных контролах в разных формах. И все они ждут оповещений от одного и того же потока и все открыты одновременно. Байтораздирающее зрелище. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2020, 18:14 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=41&tid=2038208]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 338ms |

| 0 / 0 |
