Ошибка постоянная: log4cplus: Error Please initialize the log4cplus system properly.
Проявлялась в прошлых стабильных версиях, в текущей версии и в ночных сборках.
Воспроизводится так:
Запуск Far.
Правый клик на имени файла.
После появления ошибки панели "съезжают": в верхней строке дублируется имя файла и появляются другие артефакты, которые исправляются только перезапуском Far.
Текущая версия - Windows 10 Pro, также проявлялась на Home и на Windows 8.
Last edited by HaRT on Wed 20 Sep, 2023 11:58, edited 3 times in total.
Reason:Уточнён Заголовок Темы
skipik wrote: ↑Thu 03 Oct, 2019 21:27
CURL так же делает и всё съезжает
Ну вот вы сами себе и ответили. А ещё так делают некоторые расширения Проводника для работы с растровыми изображениями. Надо терпеть и пинать авторов, либо отказываться от таких программ.
Есть программы, общающиеся с внешним миром текстом (например, git). При их запуске либо используется консоль родительского процесса (если есть), либо создаётся новая (aka "страшное чорное окно").
Есть программы, общающиеся с внешним миром окошками с кнопками (например, photoshop). Консоль им не нужна от слова "совсем", ей только пользователей пугать. Поэтому их собирают особым образом и при их запуске это страшное чорное окно не создаётся.
И есть библиотеки, не общающиеся с внешним миром вообще.
Разработчикам иногда хочется выводить всякие отладочные сообщения.
С текстовыми программами всё просто - консоль есть, можно выводить прямо в неё.
С нетекстовыми и библиотеками несколько сложнее - консоли нет, а делать полноценные логи долго и уметь надо.
В один прекрасный день один гуру обнаруживает, что можно прицепиться к консоли родительского процесса и гадить в неё! Представляете, как удобно - обычные пользователи будут запускать его поделие из проводника, у которого консоли нет, и ничего не заметят, а он сам для отладки ловко запустит из cmd и всё, что надо, прочитает. Бинго.
В другой прекрасный день его брат по разуму обнаруживает, что в библиотечном коде можно тупо писать в stdout, не заморачиваясь вообще ничем. Если консоль откуда-то есть - текст будет видно, а нет - так нет.
Гуру делятся мудростью на stack overflow, сакральное знание идёт в массы.
А то, что консоль принадлежит не им и может активно использоваться кем-то ещё - право же, такие мелочи.
При вызове контекстного меню на локальном диске в консоли вылезает:
[800:ShellIpcClient] simple_message_loop_cc:120:Run Run called on MessageLoop that's already been Quit!
Но еще есть Google диск на котором сообщение совсем другое:
[5840:NonCelloThread] thumbnail_util_win_cc:116:LoadBitmapFromPngResource Can't find PNG resource 0.
[5840:NonCelloThread] ctxmenu_cc:216:GenerateContextMenu Received context menu with 5 menu items.
При этом содержимое окна съезжает вверх и перерисовывается только при наведении курсора или вызове меню.
Версия фара 3.0.5760 x64 от 14.03.2021, Windows 10 LTSC x64 17763.1817.
Пробовал запускать фар с новым профилем, без макросов, из плагинов оставил только EMenu.
Систему проверил через sfc и DISM.
Есть другой комп с такой же версией винды и фара, там все нормально.
Ищите того кто гадит в консоль (среди расширений контекстного меню explorer).
Скорее всего это будет Google Drive.
Тема не новая можете в поиск по форуму задать ровно это гадит консоль.
Last edited by 2useven10 on Tue 16 Mar, 2021 06:47, edited 2 times in total.
(2021-04-07 21:49:49) [WARN ] [ShareMenu] menu init.
(2021-04-07 21:49:49) [ERROR] [ShareMenu] msgcenter not exist.
(2021-04-07 21:49:49) [ERROR] [ShareMenu] can not show menu.
Судя по сообщениям в консоли, это либо меню "Share", либо "Share with Skype". Пробовал удалять эти меню различными способами через реестр. Меню исчезали, а сообщения из консоли - нет.
Больше уверен, что это именно меню "Share", потому что из под Far оно не запускается.
Добавить опцию в EMenu, чтобы после вызова контекстного меню интерфейс Far полностью перерисовывался. Я пытался сделать это с помощью макроса. Записывал макрос, который после вызова контекстного меню делал двойное Ctlr+O. Но это не сработало, потому что Far не перерисовывает интерфейс после макроса, если видит, что интерфейс не изменился. Минус данного подхода - часть интерфейса Far (которая уехала за пределы видимости окна консоли) остаётся в буфере прокрутки.
Добавить опцию в EMenu, чтобы перед вызовом контекстного меню, интерфейс Far скрывался, а после восстанавливался. В этом случае вывод в консоль элементов контекстного меню будет аналогичен выводу консольных программ, запущенных из Far. Часть интерфейса Far не будет оставаться в буфере прокрутки. Минус данного подхода - консоль будет чёрная на время вызова контекстного меню.
Может, как-то можно запустить контекстное меню, не давая ему консоли?