Log plugin
- Author
- Message
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Добавлено: параметр во внешний вызов с кодом 3, для получения состояния запуска приложения (Log::Output).
Добавлено: внешние вызовы с кодом 4 и 5 для установки/добавления текста в панель вывода (Log::Output).
Added: parameter in external call with code 3 to get execution state (Log::Output).
Added: external calls with code 4 and 5 to set/add text in the output panel (Log::Output).
Log plugin v1.9
Добавлено: внешние вызовы с кодом 4 и 5 для установки/добавления текста в панель вывода (Log::Output).
Added: parameter in external call with code 3 to get execution state (Log::Output).
Added: external calls with code 4 and 5 to set/add text in the output panel (Log::Output).
Log plugin v1.9
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Что-то здесь не так...
Если у меня в Log::Output запущен cmd.exe, то как только я вызываю Call("Log::Output", 5, "* 123 *"), тут же пропадает поле ввода и кнопки Ввод и Стоп, лишая возможности набрать "exit" для завершения cmd.exe.
А Call("Log::Output", 3) иногда возвращает ненулевой PROCESSHANDLE, но нулевой PLUGINTHREAD.
Если у меня в Log::Output запущен cmd.exe, то как только я вызываю Call("Log::Output", 5, "* 123 *"), тут же пропадает поле ввода и кнопки Ввод и Стоп, лишая возможности набрать "exit" для завершения cmd.exe.
А Call("Log::Output", 3) иногда возвращает ненулевой PROCESSHANDLE, но нулевой PLUGINTHREAD.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Первое (кнопки) починилось, второе (PLUGINTHREAD) - нет. Вот этот кусок мне не нравится:Instructor wrote:Как ведет себя версия 2.0?
И похоже, что параметр APPEND в "Log::Output",5 игнорируется.if (IsExtCallParamValid(pd->lParam, 2))
lpdwExecState=(DWORD *)GetExtCallParam(pd->lParam, 2);
if (IsExtCallParamValid(pd->lParam, 3))
lphExecThread=(HANDLE *)GetExtCallParam(pd->lParam, 3);
if (IsExtCallParamValid(pd->lParam, 4))
lphExecThread=(HANDLE *)GetExtCallParam(pd->lParam, 4);
Кстати, а зачем разделение на "Log::Output",4 и "Log::Output",5 ?
Вот обновлённый проверочный скрипт для всего этого дела:
Last edited by DV on Mon Mar 19, 2012 9:04 am, edited 1 time in total.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Т.е. получается, что для вывода строк из скрипта по сути нужно использовать что-то вродеInstructor wrote:Для передачи Ansi строки на Unicode системе или наоборот.Кстати, а зачем разделение на "Log::Output",4 и "Log::Output",5 ?
Code: Select all
AkelPad.Call("Log::Output", 4 + _TSTR, "text");
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Во-первых, в формуле должно быть _SIZE (_TSTR это "A" или"W" ) .Т.е. получается, что для вывода строк из скрипта по сути нужно использовать что-то вроде
Во-вторых, забыл в формуле -1: 4 + _TSIZE = 5 или 6 (_TSIZE == 1 или 2)
В-третьих, из скрипта можно всегда использовать Юникод вариант, ибо WSH реализован на COM который только Юникод. Разве что передашь аргументом указатель на нативную память(выделенные и заполненных через MemAlloc, MemCopy), что будет очень редким исключением.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Исправлено: контекстное меню на заголовке плагина (Log::Output).
Fixed: context menu on plugin caption (Log::Output).
Log plugin v2.2
Fixed: context menu on plugin caption (Log::Output).
Log plugin v2.2
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
В общем такая вот пакость(Log 2.2):
1. Открыл лог-файл.
2. Включил Log::Watch(Настройки: интервал обновления 1сек, "не перемещать курсор в конец файла". MDI).
Оно себе работает.
3. Занимаюсь своими делами дальше, в том числе и удаляю файл за которым наблюдает лог. При этом к активному наблюдению за логом я вернусь на много позже.
4. Доходят руки до лога(вновь запустил приложение пишущее лог) - переключаюсь на АР. Сюрприз: меня переключило на окно "Can't open file. Plugin will be stopped." в правом нижнем углу. Короче, этих окон там, мягко говоря, много - по окну на каждую секунду после удаления файла.
Надо как-то притормозить с выдачей этих окон, хватит и одного.
1. Открыл лог-файл.
2. Включил Log::Watch(Настройки: интервал обновления 1сек, "не перемещать курсор в конец файла". MDI).
Оно себе работает.
3. Занимаюсь своими делами дальше, в том числе и удаляю файл за которым наблюдает лог. При этом к активному наблюдению за логом я вернусь на много позже.
4. Доходят руки до лога(вновь запустил приложение пишущее лог) - переключаюсь на АР. Сюрприз: меня переключило на окно "Can't open file. Plugin will be stopped." в правом нижнем углу. Короче, этих окон там, мягко говоря, много - по окну на каждую секунду после удаления файла.
Надо как-то притормозить с выдачей этих окон, хватит и одного.