Раньше сообщения об отсутствии подключаемого скрипта не было. Были написаны скрипты с учётом этого. Я прошу поставить флаг, подавляющий появление сообщения по умолчанию, чтобы все не переделывали скрипты. Случаи, где бы это сообщение было нужно, единичны, если вообще есть.
Posted: Thu Sep 24, 2015 3:30 pm
by Skif_off
VladSh
Прошу прощения, чего-то недопонимаю: взал скрипт с
AkelPad.ReadFile
...
nFlags
0x001 //OD_ADT_BINARYERROR Проверить является ли файл бинарным.
0x002 //OD_ADT_REGCODEPAGE Если кодировка файла была сохранена в реестре, то она будет использована
// с флагом OD_ADT_DETECTBOM, если нет, то следующие флаги будут использованы
// OD_ADT_DETECTCODEPAGE|OD_ADT_DETECTBOM.
0x004 //OD_ADT_DETECTCODEPAGE Определить кодировку.
0x008 //OD_ADT_DETECTBOM Определить наличие сигнатуры BOM.
0x010 //OD_ADT_NOMESSAGES Не выводить сообщения при ошибке автоопределения.
0x020 //OD_ADT_ONLYBOM Определить кодировку, только если присутствует сигнатура BOM, иначе будет использована кодировка по умолчанию.
0x100 //OD_REOPEN Не создавать новое окно, использовать имеющееся.
0x200 //OD_NOSCROLL Не восстанавливать прокрутку текста.
//По умолчанию 0xD (OD_ADT_BINARYERROR|OD_ADT_DETECTCODEPAGE|OD_ADT_DETECTBOM).
, при этом в любом случае AkelPad.Include() возвращает true или false.
Кажется, не понял ни зачем nFlags в AkelPad.Include, ни вашу просьбу
Posted: Thu Sep 24, 2015 3:39 pm
by VladSh
Skif_off
Моя просьба не про бинарники (я ж не бинарники подключаю). А в случае, когда подключаемый файл отсутствует, не выдавать об этом сообщения.
Используя Ваш код, попробуйте удалить CreateDialog_functions.js и запустить скрипт, увидите о чём я говорю. /Кстати, недавно был такой случай в "Дискуссии скриптов" - человек когда-то давно, когда не было этого сообщения, написал скрипт, в котором сделал подключение на какой-то свой файл; при определённых начальных параметрах у другого человека произошло попадание на эту строку и вылет этой ошибки. И никого не найдёшь и не узнаешь, что это за подключаемый файл, и что в нём должно быть. Хотя и без этого файла всё нормально работает, только ошибку кажет, которая ни к чему совершенно./
Posted: Thu Sep 24, 2015 3:55 pm
by Skif_off
VladSh wrote:Моя просьба не про бинарники (я ж не бинарники подключаю).
Имел в виду пример ошибки, когда AkelPad.Include() не сможет прочитать файл и вернёт false, про отсутствие файла не подумал, ибо не сталкивался. Но как помогут nFlags метода AkelPad.ReadFile()? /Припоминаю, кажется, SearchReplace_cml.js и SearchReplace_multi.js, у себя оставил Multi_SR.js./
Posted: Thu Sep 24, 2015 4:09 pm
by VladSh
Skif_off wrote:Но как помогут nFlags метода AkelPad.ReadFile()?
if (!AkelPad.Include("nonexist.js", 0x10)) {
WScript.Echo("А сообщения об ошибке-то и нет :)");
}
Posted: Thu Sep 24, 2015 4:37 pm
by Kley
Instructor
Странное поведение Системного меню или сочетания клавиш Alt + Space. Скрипты для примера: "SortLines.js", "LinesFilter.js".
Открыв меню (Alt + Space), выбрав стрелками вверх или вниз пункт, например: "Закрыть Alt+F4" жмем Enter - команда не проходит.
Опять появляется меню. Если в первый раз, сразу после открытия меню, нажать Alt, оно закроется, но Esc сработает только со второго раза.
Posted: Thu Sep 24, 2015 5:07 pm
by Skif_off
VladSh
Спасибо, кажется, я отупел ) Всегда думал, что тут
Instructor, как вы думаете - это костыль или нормальное решение?
Posted: Sat Sep 26, 2015 12:08 am
by Instructor
Kley
Это даже не костыль, а именно то, для чего этот флаг реализовывался. Реализовать реализовал, а в скрипты не добавил. Переделывание на AkelPad.CreateDialog даст немного другое - поддержку горячих клавиш вызова элемента управления (в том числе поддержку кнопки по умолчанию).
П.С. Флаг указан правильно, только расшифровка WGM_KEYDOWNUP.