Ошибка запуска консоли

Обсуждение программ nnCron и nnCron LITE

Ошибка запуска консоли

Postby spronkin » Tue, 26 Jan 2016, 15:40

При попытке открытия Инструменты > Console из трея происходит ошибка:
https://goo.gl/photos/eSaFKMX5x4n8ZeAa7
Console error # -1

С чем это может быть связано? С кодировкой?
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Ошибка запуска консоли

Postby elos » Wed, 27 Jan 2016, 00:23

Все играют в телепатов после такого вопроса...
В какой среде запускал?
elos
 
Posts: 667
Joined: Tue, 25 Apr 2006, 11:15

Re: Ошибка запуска консоли

Postby spronkin » Wed, 27 Jan 2016, 00:28

Среда обыкновенная - windows 7 x64. nncron установлен как приложение.
Почему в консоли крона квадратики? Если запускаю cmd - никаких кважратов нет. Текущую кодовую страницу 65001 пробовал менять через реестр на 1251 и 866 - не помогает.
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Ошибка запуска консоли

Postby AlikasS » Wed, 27 Jan 2016, 05:12

посмотри настройки в nncron.ini
Code: Select all
DefaultLoadProfile ON
GUIAsUser ON
GUILoadProfile ON

и перезапусти ))
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Ошибка запуска консоли

Postby VoidVolker » Wed, 27 Jan 2016, 14:14

Заодно можно и обновиться: http://www.nncron.ru/download/nncron193b13.exe
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Ошибка запуска консоли

Postby spronkin » Thu, 28 Jan 2016, 02:55

Ни то, ни другое не помогло:
https://goo.gl/3XgZGa
Помогло изменение шрифта с Lucida Console на точечный в свойствах окна консоли nncron:
https://goo.gl/k6dAZ4
Правда, не все русскоязычные символы отображаются. Но в принципе работает:
https://goo.gl/M290Cn
Я думаю, что какая-то лажа с кодировками... Непонятная вещь, на соседнем компе в окне консоли nncron выставлен Lucida Console, в cmd.exe chcp 866, все прекрасно отображается. В чем проблема?
Last edited by spronkin on Thu, 28 Jan 2016, 03:30, edited 1 time in total.
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Ошибка запуска консоли

Postby VoidVolker » Thu, 28 Jan 2016, 03:24

После изменения кодовой страницы в реестре необходимо перезагрузить систему. ннКрон по умолчанию использует 1251 кодировку.
Code: Select all
: CP1251 ['] ANSI>OEM TO ANSI><OEM ;
: DOS ['] OEM>ANSI TO ANSI><OEM ;

И далее используем данные слова при необходимости. Например в консоли или сразу в nncron.ini.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Ошибка запуска консоли

Postby spronkin » Thu, 28 Jan 2016, 03:35

А кодировку UTF-8 может использовать?
Code: Select all
: UTF-8 ['] ???>??? TO ???><??? ;


А является ли следствием изменения кодировки nncron необходимость изменения кодировки файла кронтаба?
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Ошибка запуска консоли

Postby VoidVolker » Thu, 28 Jan 2016, 14:29

А если зайти в консоль крона по сети? Или например через putty? Тип соединения - RAW, порт - 2002 (по умолчанию) шрифт - Consolas, Window -> translation -> Win1251
Консоль ннкрона работает следующим образом: ннкрон слушает 2002 порт, в домашнем каталоге ннкроне есть tm.exe - отдельное приложение с GUI настроек и консолью. При запуске консоли через меню ннкрона запускается tm.exe, подключается к соответствующему порту и обеспечивает ввод-вывод через стандартную windows консоль. При этом tm и nnCron взаимодействуют через сокет. Такой механизм позволяет подключаться к ннкрону по сети и выполнять любой код.
Судя по всему в данной ситуации какая-то ошибка в самой системе и/или со шрифтами. Я только что протестировал разные кодировки в системе — консоль ннкрона всегда работает как надо.
Так-то в вектор ANSI><OEM можно записать вообще любой код и конвертер, только при печати в консоли он не используется.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Ошибка запуска консоли

Postby dothen » Sat, 30 Jan 2016, 15:53

VoidVolker wrote:...Так-то в вектор ANSI><OEM можно записать вообще любой код и конвертер, только при печати в консоли он не используется.

Похоже что ANSI><OEM используется только в локальной консоли,
а ANSI>OEM и OEM>ANSI имеют ограничение на длину перекодируемой строки.
Пример для локальной консоли:
Code: Select all
#( task_for_test_local_console_ANSI><OEM
NoActive
Action:
    \ ['] ANSI>OEM TO ANSI><OEM  \ На длинных строках роняет nnCron
    S" doc\license.rus.txt" +ModuleDirName FILE TYPE CR CR \ Длина строки 2145 
    S" ВЫВЕЛИ ФАЙЛ 'LICENSE.RUS.TXT'" 2DUP TYPE CR CR MsgBox
    S" doc\readme.rus.txt" +ModuleDirName FILE TYPE CR CR \ Длина строки 4420
    \ Тут nnCron вылетает т.к. строка слишком длинная.
    \ Если же не перекодировать то работает без ошибок.
    S" ВЫВЕЛИ ФАЙЛ 'README.RUS.TXT'" 2DUP TYPE CR CR MsgBox

    \ S" SPF.ERR" +ModuleDirName FILE TYPE CR CR \ Длина строки 80950
        \ БЕЗ ПЕРЕКОДИРОВКИ выводит(без ошибок) в nncron.out или в удалённую консоль.
        \ а в локальной консоли выдаёт ошибку:
        \ task_for_test_local_console_ANSI><OEM: Внутренняя ошибка. Недостаточно памяти для обработки команды.
    \ S" ВЫВЕЛИ ФАЙЛ 'SPF.ERR'" 2DUP TYPE CR CR MsgBox
)#

Нигде не нашёл какая максимальная длина строки для вывода в обе консоли и в nncron.out.
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Ошибка запуска консоли

Postby dothen » Sat, 30 Jan 2016, 17:37

spronkin wrote:А кодировку UTF-8 может использовать?
Code: Select all
: UTF-8 ['] ???>??? TO ???><??? ;

В удалённой консоли ANSI><OEM не используется!
Code: Select all
<%
[UNDEFINED] WIN2OEM [IF]
: WIN2OEM ( a u -- a u ) 2DUP SWAP DUP CharToOemBuffA DROP ; \ signature.spf
[THEN]

 : UTF8>OEM UTF8>S WIN2OEM ;
\ : UTF8>OEM UTF8>S ANSI>OEM ; \ Будет ошибка
%>

#( task_for_test_local_console_UTF8>OEM_TO_ANSI><OEM
NoActive
Action:
    S" doc\license.rus.txt" +ModuleDirName FILE
    S>UTF8 \ 2DUP TYPE \ Перекодируем из 1251 в utf-8
    ['] UTF8>OEM TO ANSI><OEM
    TYPE
    ['] NOOP TO ANSI><OEM
)#

Можно же сразу перекодировать и потом выводить и в локальную и в удалённую консоль.
Code: Select all
#( task_for_test_local_console_UTF8>OEM
NoActive
Action:
    S" doc\license.rus.txt" +ModuleDirName FILE
    S>UTF8 2DUP TYPE \ Перекодируем из 1251 в utf-8 и выводим каракули
    UTF8>OEM TYPE \ Перекодируем из utf-8 в 866 и выводим текст
)#
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Ошибка запуска консоли

Postby spronkin » Sat, 30 Jan 2016, 18:57

VoidVolker,
спасибо, как localhost работает!
https://goo.gl/hikYis
Значит, действительно, что-то с шрифтами в системе. Особенно, если выставляю шрифт в консоли крона Consolas:
https://goo.gl/LqSt7a
На другой машине такого не наблюдаю. Такое впечатление, что где-то в реестре изменил кодовую страницу 1251 на 1252 или на 866. Хотя в cmd chcp показывает 65001.
А чтобы доступ к консоли был по сети, что нужно сделать? Пытаюсь подсоединиться через Putty на IP-адрес интерфейса локальной сети с другого компьютера по тому же порту, но появляется сообщение "Connection closed by remote host"
https://goo.gl/VQtf7m
На этот же IP-адрес не может присоединиться с основного компьютера. Почему-то упорно хчет подключаться только на localhost. Это проблема брандмауэра или неправильной настройки соединения в Putty? Была подобная проблема, когда я настраивал веб-сервер Apache, пока в инициализации не указал IP хоста 10.70.0.73 вместо localhost - ничего не получилось. Может и в nncron.ini надо что-то указать?
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Ошибка запуска консоли

Postby VoidVolker » Sat, 30 Jan 2016, 19:58

nncron.ini
Code: Select all
RemConsole ON
RemConsolePort: 2002
RemAllowed: *
RemDisallowed: x.x.x.x
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Ошибка запуска консоли

Postby spronkin » Mon, 01 Feb 2016, 03:16

VoidVolker, dothen, благодарю за ответы!
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: Ошибка запуска консоли

Postby VoidVolker » Wed, 17 Feb 2016, 12:08

Случайно обнаружил настройку в восьмерке, которая ломает кодировки в ннкроне: русское меню крона и консоль показывают кракозябры. Проблема оказалась в региональных настройках: Панель управления > Язык и региональные стандарты > дополнительно > Язык программ, не поддерживающих Юникод.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Next

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot] and 4 guests