powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Баг и мешанина с хоткеями
25 сообщений из 33, страница 1 из 2
Баг и мешанина с хоткеями
    #38698709
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема тянется довольно давно, вплоть до версии 2014.4.4.1 точно. В окнах просмотра полей таблиц периодически перестают действовать хоткеи удаления. Баг воспроизводится прямо сразу при открытии свойств таблицы. При этом если вызвать контекстное меню на гриде полей и закрыть его, никакого действия не выполняя, хоткей "оживает". Если поле этого перейти на другую вкладку и вернуться, хоткей снова умирает.

Что касается мешанины - одни и те же действия над разными объектами завязаны на разные хоткеи.
Объекты базы удаляются по Ctrl+Del
Поля таблиц - по Shift+Del
Ключи и индексы - по Del
Записи - по Ctrl+Del, причем это вообще, кажется, заслуга DBGrid-а, а не самого IBE, поскольку данная возможность нигде в интерфейсе не обозначена.

А в сборном гриде с объектами БД (домены, генераторы и т.п.) тоже много загадок:
- В контекстном меню нет пунктов "удалить/создать" (кроме списка исключений - есть удаление, но там пункт в самом низу, тогда как в меню для полей таблиц - наверху)
- В списке доменов контекстного меню нет вообще
- В списке исключений удаление по Ctrl-Del, а в списке генераторов - по Shift+Del

Кстати, индексы из формы свойств таблицы удаляются вообще без подтверждения.

В общем, было бы отлично всё привести к единообразию
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38699364
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Баг попробую поправить, а шорткаты трогать не буду.
Кого мешанина нервирует - тот идет в Tools | Localize IBExpert и меняет неугодные шорткаты на свои.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38699524
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Окей, сейчас попробую, а насчет меню что думаешь? Вроде бы несложно исправляется, зато пользы от единообразия много
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38699598
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, счастья не получилось.
Во-первых, при вызове через Tools | Localize IBExpert хоткеи редактировать нельзя - нет соответствующего edit
Во-вторых, открыв эту форму через системное меню дочерней формы, я не увидел большинства команд, показанных на первом шаге, например, Drop domain, drop table и т.д.
В-третьих, edit хоткея обычный Del ни с каким модификатором ввести не дает, сбрасывая хоткей на "Нет". Удалось ввести только Num Del. Однако после этого данный хоткей вообще не работает. Думал вручную подправить на Del, но так и не нашел, где IBE хранит измененные хоткеи
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38699858
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

Ну, значит, не судьба. Не знаю, почему там Ctrl+Del не вводится и разбираться сейчас не буду.
Шорткаты хранятся в IBExpert.lng, в профиле пользователя, в виде целого числа.
Баг поправил.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38700079
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, проблема в косорукости MS . Простого решения никто пока не нашел.
А в каком формате этот lng?
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38700269
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-BrutalА в каком формате этот lng?

В своем собственном.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38700658
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну что ж, ясно. Менять не желаем, средства настройки нефункциональны, о формате настроек не расскажем. По крайней мере, баг исправлен, и на том спасибо
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38701158
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

Послушай, чтобы выяснить, как хранятся данные в lng-файле, достаточно заглянуть в него и потратить несколько минут на осмысление увиденного.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38701934
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Ну что строки хранятся в виде "Длина:Строка" - это понятно. В начале файла - что-то вроде индекса, да? А вот сами хоткеи я что-то там так и не разглядел ;(

P.S. Это мне вчера ночью нечего делать было ;)
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38702029
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterНу что строки хранятся в виде "Длина:Строка" - это понятно. В начале файла - что-то вроде индекса, да? А вот сами хоткеи я что-то там так и не разглядел ;(


Непосредственно перед двумя байтами длины строки идут два байта (WORD) шортката.
В начале файла - заголовок и индекс.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38702108
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Ага, спасибо. Будет вам редактор хоткеев врокости ;)
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38702245
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterАга, спасибо. Будет вам редактор хоткеев врокости ;)

А смысл? Проще ibec_ функцию сделать, которая будет модифицировать хоткей по ID.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #38702299
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

Ну вообще-то я сторону IBEC/плагина и думал. Хотя мне это нужно как прошлогодний снег ;)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Баг и мешанина с хоткеями
    #40002288
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не прошло и десяти лет, как я снова наткнулся на эту бесячесть. В программе в этом плане ничего не поменялось :(
После многочасового сношания выяснилось, что теперь %AppData%\Roaming\HK-Software\IBExpert\IBExpert.lng хоть и сохраняет изменения, сделанные в интерфейсе, но не читает их, а действительно используемые шорткаты хранятся в файле IBExpert.scm. Кроме того, теперь шорткат хранится в двух байтах: если настроить действие Dr&op Database на Ctrl-1, то в файле IBExpert.lng увидим

00 00 31 40 0E 00 Dr&op Database

00 00 - это непонятно что
31 40 - "1" и $40, то есть ssCtrl, в старшем полубайте
0E 00 - длина строки, 14

Ну и в IBExpert.scm меняется соответственно.
Отсюда порядок действий.
1. Через системное меню всех дочерних окон, где требуется изменить шорткаты (у каждого окна свой набор) (вверху-слева, нажать иконку IBE - Localize / change shortcuts) вызвать диалог локализации, выставить его у нужных действий на простое сочетание, тот же Ctrl-1. Я менял в 4 местах: сборные списки доменов (Drop domain), генераторов и иключений (Delete) и полей таблицы (Drop field). В остальных местах работает Del, а в дереве объектов - Ctrl-Del.
2. Выйти из IBE
3. Открыть %AppData%\Roaming\HK-Software\IBExpert\IBExpert.scm в hex редакторе
4. Найти все вхождения "1@" / "$31 $40" (это Ctrl-1) и заменить их на нужное сочетание. Я сделал "2E 00", это Del без модификаторов, для единообразия с уже имеющимися клавишами (в списках ключей и индексов).
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40002290
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получившийся scm файл
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40002385
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

Ты чего сказать-то хотел??
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40002431
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert
Ты чего сказать-то хотел??

1. Поделиться актуальным рабочим рецептом ручного редактирования шорткатов
2. Похвастаться, какой я умный, что разобрался в шайтан-системе
3. Еще раз намекнуть, что проблема таки есть, причем совершенно элементарно решаемая на уровне программы
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40002766
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal

1. Поделиться актуальным рабочим рецептом ручного редактирования шорткатов


Зачем их hex-редактором редактировать, если их можно редактировать в форме локализации?
А еще есть ibec_ibe_SetLngShortcut.

Fr0sT-Brutal

3. Еще раз намекнуть, что проблема таки есть, причем совершенно элементарно решаемая на уровне программы


Что за проблема? Ты в этой теме их как минимум три озвучил, и они друг с другом никак не связаны.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40003242
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert

Зачем их hex-редактором редактировать, если их можно редактировать в форме локализации?

Можно, да нельзя. Все сочетания с Del просто сбрасывают шорткат (4й пост в теме)
IBExpert
А еще есть ibec_ibe_SetLngShortcut.

Вот это погляжу. Честно искал ее в списке, т.к. в тот раз шла речь, но было сложно догадаться, что ее надо смотреть в разделе DB functions :)
IBExpert

Что за проблема? Ты в этой теме их как минимум три озвучил, и они друг с другом никак не связаны.

Проблема в разношерстности шорткатов. Были б однотипными, лезть в унутрь и не пришлось бы
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40003469
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не выходит чаша с функцией. Только один раз как-то сработала, потом никак.

Функция работает только в следующем виде:
1 - запускаем скрипт
Код: sql
1.
2.
3.
4.
5.
6.
execute ibeblock
as
begin
  Res = ibec_ibe_SetLngShortcut(1019, 'Shift+Alt+D');
  ibec_ShowMessage(res);
end;


2 - вызываем форму Localize
3 - закрываем форму Localize

Тогда шорткат появляется. Но в любом случае изменения не сохраняются, т.е. это только если в After start писать
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40003505
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Но в любом случае изменения не сохраняются, т.е. это только если в After start писать


Так и задумано. Это меняет шорткат только в текущей сессии, и оно должно быть в after start.
А зачем тебе сохранять изменения?

Fr0sT-Brutal

2 - вызываем форму Localize
3 - закрываем форму Localize


Ну все правильно, при закрытии этой формы происходит обновление локализованных строк и шорткатов во всех остальных открытых формах эксперта. Просто дернуть ibec_ibe_SetLngShortcut в SQL-редакторе для этого недостаточно.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40003526
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert
Так и задумано. Это меняет шорткат только в текущей сессии, и оно должно быть в after start.
А зачем тебе сохранять изменения?

Я бы скорее задал вопрос, зачем менять шорткат только в текущей сессии.
IBExpert

Ну все правильно, при закрытии этой формы происходит обновление локализованных строк и шорткатов во всех остальных открытых формах эксперта. Просто дернуть ibec_ibe_SetLngShortcut в SQL-редакторе для этого недостаточно.

Ну, в таком виде, кмк, смысл от функции практически нулевой... По крайней мере, разумного сценария ее применения мне в голову не приходит
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40003543
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal

Я бы скорее задал вопрос, зачем менять шорткат только в текущей сессии.


Ты дурака включил что-ли? Перед началам каждой сессии выполняется скрипт after start и блок событий after start.
Прописал один раз и забыл.
...
Рейтинг: 0 / 0
Баг и мешанина с хоткеями
    #40003566
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert
Ты дурака включил что-ли? Перед началам каждой сессии выполняется скрипт after start и блок событий after start.
Прописал один раз и забыл.

Это я понял. Непонятно, зачем в приципе менять шорткаты только в текущей сессии. Разве что для мультиюзерности, но изменения и так сохраняются в профиле
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Баг и мешанина с хоткеями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]