AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Log plugin
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
FeyFre



Joined: 07 Aug 2007
Posts: 2038
Location: Vinnitsa, Ukraine

PostPosted: Fri Feb 24, 2012 2:46 pm    Post subject: Reply with quote

Quote:
Не расскажите как это сделать?
В смысле автозапуск фунцкии которая этого не поддерживает? Это делается параметрами запуска программы. Установите параметра редактора CmdLineBegin или CmdLineEnd в следующее: /Call("Log::Output") и будет Вам счастье.(Что это за параметры можно почитать в документации. )
А в Скрипты Вы это напрасно пошли. Там немного не так оно вызывается, да и не нужно это Вам сейчас.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Sergeyka



Joined: 21 Feb 2012
Posts: 14
Location: Voronezh

PostPosted: Fri Feb 24, 2012 4:21 pm    Post subject: Reply with quote

Работает, спасибо!
Code:
А в Скрипты Вы это напрасно пошли. Там немного не так оно вызывается

Ок. Будут вопросы, буду задавать вопросы в соответствующую ветку.
Back to top
View user's profile Send private message
Sergeyka



Joined: 21 Feb 2012
Posts: 14
Location: Voronezh

PostPosted: Sun Feb 26, 2012 12:50 am    Post subject: Reply with quote

Почему-то в LogView не в реальном времени обновляется информация...
Вот запустил я эмулятор. В коммандной строке бегут цифры - это функция Print работает.

А когда запустил через LogView - то появляется первоначальное сообщение. А цифры появятся только после того, как закрою эмулятор.

Для ясности, записал видео - http://dump.ru/file/5619554


з.ы. В настройках Watch выставлял как 1, 100 и сейчас стоит тысяча мс - ничего не меняется..
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2038
Location: Vinnitsa, Ukraine

PostPosted: Sun Feb 26, 2012 1:18 am    Post subject: Reply with quote

Sergeyka
Попробовал у себя - текст подтягивается по мере поступления, а не потом. Может быть Ваш эмулятор крутит носом(по идее процесс вполне способен определить, что является его дескрипторами 1 и 2, и по разному может себя вести). В любом случае, у нас есть два неизвестных: страдает ли чемто специфическим Ваш эмулятор(на сколько он отличается в работе от COMSPEC), и Ваша система(Не свихнули Вы ей случайно мозги? Бывает.).
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Sergeyka



Joined: 21 Feb 2012
Posts: 14
Location: Voronezh

PostPosted: Sun Feb 26, 2012 5:05 am    Post subject: Reply with quote

FeyFre wrote:
Sergeyka
Может быть Ваш эмулятор крутит носом(по идее процесс вполне способен определить, что является его дескрипторами 1 и 2, и по разному может себя вести).

Хм..Вполне. С недавних пор автор заявил о поддержке Decoda(lua debugger), т.ч. вполне может быть.
Та-же команда ping -t100 ya.ru - нормально отрабатывает. Кстати, официальный эмулятор(или симулятор) вообще не запускается. Вернее запускается, но все идет в консоль, а окна самой игры нет=)

FeyFre wrote:

Ваша система(Не свихнули Вы ей случайно мозги? Бывает.).

Это тоже может быть, т.к. системе уже где-то 5 лет, а экспериментов проводилось на ней множество =) Лениво переставлять проги. Проще (вернее интереснее) найти решение проблемы и обезвредить.

Я вот подумал, что незачем использовать LogView, можно просто вызывать эмулятор и также смотреть на консоль.
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 839
Location: Kyiv, Ukraine

PostPosted: Mon Feb 27, 2012 9:36 am    Post subject: Reply with quote

Sergeyka wrote:
Я вот подумал, что незачем использовать LogView, можно просто вызывать эмулятор и также смотреть на консоль.

Тоже вариант. А идея перехвата в LogView по большей части в том, чтобы всё было как бы частью интерфейса одной программы (AkelPad), без дополнительных консольных окон (которые приходится каждый раз закрывать вручную).
Что касается задержки в появлении сообщений, то это вина самой запускаемой программы + механизма перенаправления Windows. Если консольная программа явно вызывает fflush() при каждом выводе текста, то этот текст появится тут же, без задержек. (Команда fflush заставляет обработать буфер вывода немедленно.) Иначе (без fflush) механизм перенаправления консольного вывода может просто накапливать текст в своём внутреннем буфере и показать его только по заполнению этого буфера или уже по завершению работы консольной программы.
Back to top
View user's profile Send private message
Sergeyka



Joined: 21 Feb 2012
Posts: 14
Location: Voronezh

PostPosted: Mon Feb 27, 2012 4:38 pm    Post subject: Reply with quote

DV wrote:
и показать его только по заполнению этого буфера или уже по завершению работы консольной программы.


А в саму консоль отправляется-то в реальном времени. Но это наверное заморочки симулятора.

Мне бы теперь разобраться с запуском через Ctrl+F5. Эту проблему я описал в треде "Найденные баги"..
update:
Моя ошибка была. Все отписал там-же, в "багах".
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Mon Mar 05, 2012 10:43 am    Post subject: Reply with quote

Сам писал эмулятор консольных прог с перехватом вывода, и так и не одолел проблему буферизации. Практически все сишные проги страдают от этого недостатка. Решить можно разве что сканированием окна консоли, но это изврат. Так что юзаем что дают.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5316

PostPosted: Thu Mar 08, 2012 4:59 pm    Post subject: Reply with quote

Добавлено: поддержка автозагрузки для Log::Output.

Added: autoload support for Log::Output .


Log plugin v1.5
Back to top
View user's profile Send private message Send e-mail
FeyFre



Joined: 07 Aug 2007
Posts: 2038
Location: Vinnitsa, Ukraine

PostPosted: Thu Mar 08, 2012 7:32 pm    Post subject: Reply with quote

Всё-таки настаиваю на фичреквесте, а то немного начинает надоедать.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5316

PostPosted: Thu Mar 08, 2012 7:59 pm    Post subject: Reply with quote

FeyFre
Log и Sessions теперь передают TRUE в lParam.
Code:
SendMessage(hMainWnd, WM_COMMAND, IDM_FILE_NEW, TRUE)

Также из Sessions убран внешний вызов с кодом 11.
Back to top
View user's profile Send private message Send e-mail
DV



Joined: 16 Nov 2006
Posts: 839
Location: Kyiv, Ukraine

PostPosted: Tue Mar 13, 2012 12:36 pm    Post subject: Reply with quote

Научился ронять плагин Log...
Воспроизведение сводится вот к чему:
Из скрипта запускаем
Code:
AkelPad.Call("Log::Output", 1, "cmd /c C:\\tools\\tcc\\tcc.exe || pause", "");

Плагин Log показывает "Press any key to continue . . . " и, очевидно, ждёт ввода.
Но мы вместо этого опять запускаем
Code:
AkelPad.Call("Log::Output", 1, "cmd /c C:\\tools\\tcc\\tcc.exe || pause", "");

Судя по всему, плагин не блокирует отработку этого действия.
Теперь нажимаем на крестик плагина Log, и весь AkelPad падает.

(Понимаю, что в данном случае с обёрткой "cmd /c ... || pause" я не очень прав, но плагин-то всё равно падать не должен.)
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5316

PostPosted: Tue Mar 13, 2012 4:53 pm    Post subject: Reply with quote

Исправлено: запуск новой команды, когда предыдущая еще выполняется (Log::Output).

Fixed: new command launch when the previous one is still running (Log::Output).


Log plugin v1.7
Back to top
View user's profile Send private message Send e-mail
DV



Joined: 16 Nov 2006
Posts: 839
Location: Kyiv, Ukraine

PostPosted: Wed Mar 14, 2012 11:00 am    Post subject: Reply with quote

А как обстоят дела у плагина Log с переменнными окружения?
Вопрос не праздный, потому что скрипт RunMe.js для сборки файлов .cpp устанавливает переменные PATH, INCLUDE и LIB - и при запуске с помощью WshShell.Run или AkelPad.Exec всё работает. А при запуске с помощью AkelPad.Call("Log::Output", 1, cmd, dir) получаем "'cl' is not recognized as an internal or external command, operable program or batch file."
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2038
Location: Vinnitsa, Ukraine

PostPosted: Wed Mar 14, 2012 12:12 pm    Post subject: Reply with quote

DV, на сколько я понимаю окружение наследуется от процесса. По крайней мере Call("Log::Output",1,"%comspec% /c blah",...) работает(пару версий назад аналогичный вызов через ГУЙ переменные не подставлял). Если нужно особые установить, то придется скорее всего писать батничек. Хотя действительно чего-то типа /usr/bin/env для винды не помешает.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 3 of 10

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group