Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[wlx] odbc-wlx - просмотр Access, Excel, CSV файлов
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sat Nov 06, 2021 17:53    Post subject: Reply with quote

Отлично Smile Для инструкции правда так себе шаманизм.

А может было бы достаточно рядом с \1033 создать копию и назвать её \1046? Хотя если в реестре ищет, то видимо дохлый номер.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Sat Nov 06, 2021 19:39    Post subject: Reply with quote

little-brother wrote:
А может было бы достаточно рядом с \1033 создать копию и назвать её \1046? Хотя если в реестре ищет, то видимо дохлый номер.

Именно. Не помогает.

Но в целом инструкция простой выходит.
1) Ставим драйвера 64 битные командой: accessdatabaseengine_X64.exe /quiet
ключ /passive в последней версии не проходит.
2) Потом по пути HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\FilesPaths
удаляем ключ mso.dll. Ну, или переименовываем в нечто: *mso.dll*
Разумеется "16.0" имеет смысл при установленном 2016 Офисе. Может тут быть и 14.0 и 10.0. И еще какие-то версии.
3) Содержимое папки c:\Program Files\Common Files\microsoft shared\OFFICE16\1033\ копируем в папку C:\Windows\System32
или в папку с установленным Total Commander'ом. Прям рядом с ехе.
4) Открываем xls файл, предварительно, конечно, удостоверившись, что наш плагин установлен и для 32 битного Тотала точно работает.
5) Первая попытка почему-то приводит к фризу всего Тотала. Поэтому мы через диспетчер убиваем его процесс.
6) Открываем Тотал64 заново и опять открываем xls файл. Теперь всё проходит на ура и беспроблемно. Как и все последующие разыWink
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Sun Nov 07, 2021 14:40    Post subject: Reply with quote

https://www.upload.ee/files/13614384/Compressed1049.rar.html
Это файлы из комплекта Офиса 64 битного. Те самые, что я брал и кидал из папки 1033 по умолчанию после установки драйверов. Только теперь это ресурс 1049. Т.е. инструкцию выше для Русскоговорящих можно дополнить пунктом 7, говорящим, что пункт 3 можно выполнить по другому - прилагаемые файлы из архива скопировать или в папку C:\Windows\System32 или в папку с установленным Total Commander'ом. Прям рядом с ехе.


Last edited by Destiny on Mon Nov 08, 2021 13:42; edited 1 time in total
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Mon Nov 08, 2021 00:03    Post subject: Reply with quote

О, спасибо. После релиза добавлю инструкцию в Wiki.
Файлы то ж куда-нибудь перехостю.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Mon Nov 08, 2021 17:06    Post subject: Reply with quote

Кстати, пункт 5) Первая попытка почему-то приводит к фризу всего Тотала. Поэтому мы через диспетчер убиваем его процесс: оказывается не везде воспроизводится, что радует. Сейчас у человечка настроил этот плагин с этими дровами и у него с первого же раза все открылось. Никаких фризов, зависонов и тормозов. Так что пункт со *, так сказать.

Добавлено спустя 18 минут:

Блин, чёт до меня ток ща дошло, а что - тип xlsM наш ODBC не может открыть? Засада однако(((
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Mon Nov 08, 2021 21:18    Post subject: Reply with quote

Насколько я могу судить, то в 32-битные ODBC драйвера этот формат не поддерживают, а вот 64-битные вполне и потому для 64-битной версии достаточно будет просто поменять DetectString у плагина.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Mon Nov 08, 2021 21:37    Post subject: Reply with quote

little-brother wrote:
Насколько я могу судить, то в 32-битные ODBC драйвера этот формат не поддерживают, а вот 64-битные вполне и потому для 64-битной версии достаточно будет просто поменять DetectString у плагина.

А где-то доказательную базу можно найти? Статьи, обсуждения, ещё что-то?
Ибо я пробовал и эту строку менять, и обе битности проверял - как бы нигде и никак не работает...

Просто если никакой вменяемой ошибки не будет получено в ходе дебага, то ... даж не ясно - как ловить причину этой ошибки.
От плагина я получаю только стандартную отмазку "Cant' connect to database" - но мы то знаем, что это не очень полезная и полная ошибка((( А если ODBC не выдает какого-то аналога GetLastError(), то очень плохо...

И всё же что-то похожее должно быть в доступе.
https://social.msdn.microsoft.com/Forums/en-US/84f72ea9-7378-48d7-8391-a9a5ce781114/odbc-error-when-opening-a-xlsm-excel-file?forum=adodotnetdataproviders
там указано, что в схожей ситуации человек всё же получает БОЛЕЕ звучные тексты ошибки/ошибок, что вышло(-ли) в результате попытки открыть файл xlsm. И там весьма хорошие коды есть. А у нас ничего похожего не выводится. Просто не смог и всё. И где и как - не ясно(((
Конечно там другой ЯП, но возможность получения текста ошибки не может же зависеть от этого.


Last edited by Destiny on Mon Nov 08, 2021 21:59; edited 1 time in total
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Mon Nov 08, 2021 21:54    Post subject: Reply with quote

Code:

} else if (_tcscmp(fileext, TEXT(".xlsx")) == 0 || _tcscmp(fileext, TEXT(".xlsb")) == 0) { ...

Как видно чего то не хватает Smile

В коде надо править, в том числе сделать условную компиляцию, чтобы для 32-бит и 64-битные версии отдавали разные строки обнаружения.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Mon Nov 08, 2021 22:14    Post subject: Reply with quote

little-brother wrote:
чтобы для 32-бит и 64-битные версии отдавали разные строки обнаружения

А эт прям-точно-точно надо? Вроде как что там, что тут - драйвер есть. Значит файл должен бы был браться)))
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Mon Nov 08, 2021 22:46    Post subject: Reply with quote

32-битный ODBC администратор не различает 32 и 64-битные драйверов и показывает их одним списком. Чтобы убедиться, достаточно запустить его (C:\Windows\SysWOW64\odbcad32.exe) и попробовать создать пользовательский DSN для Excel с xlsm. В результате вернет ошибку с odbcji32.dll, что верно.
Возможно после установки MADE x32 будет добавлен драйвер с .xlsm, но сомневаюсь. Надо будет проверить.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Tue Nov 09, 2021 12:03    Post subject: Reply with quote

little-brother wrote:
и попробовать создать пользовательский DSN для Excel с xlsm. В результате вернет ошибку с odbcji32.dll, что верно.

Создал. Ошибок нет. Но не понятно как этим пользоваться и как проверить, что получившийся Франкенштейн работоспособен. Попробовал в пустой книге Экселя создать внешнее подключение, выбрал этот новый DSN, но на этапе выбора таблицы обломался. Типа нет ничего. Хотя точно есть.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Tue Nov 09, 2021 18:36    Post subject: Reply with quote

После того, как в исходниках добавил xlsm в строку определения и в указанное выше место, то у меня файл открылся.

Отмечу, что MADE2010 x32 не содержит драйвера Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb) и потому, чтобы открывать xlsm требуется версия 2016.

P.S. Пока не выкладываю, т.к. вношу правки для вкл/откл фильтров и темной темы, а также пытаюсь забороть косяк с курсором.
Также надо поправить размер областей в строке состояния, если у пользователя стоит 125% или 150% увеличение для текста.

P.P.S. С 2016 отвалился доступ к mdb. Удалил его, установил 2010, отвалился xlsm. Обычная история Very Happy
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Tue Nov 09, 2021 20:28    Post subject: Reply with quote

little-brother wrote:
Отмечу, что MADE2010 x32 не содержит драйвера Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb) и потому, чтобы открывать xlsm требуется версия 2016.

Я думаю даже и "на всякий случай" не стоит рассматривать вариант с предложением поставить 2010 версию дров. Только 2016)))
Так что считаем однозначным, что набор (*.xls, *.xlsx, *.xlsm, *.xlsb) должен поддерживаться плагиномWink

little-brother wrote:
а также пытаюсь забороть косяк с курсором.

Тут такой момент - если не двигать мышь, то да - это заметно, но как только сдвигаешь хоть на мм. её, то курсор возвращается в обычному состоянию. Эт Раз. Два - для текстовых плагинов есть режим "показ курсора". Включается по F6. В Листере при просмотре/редактировании он работает. Может на это надо как-то реагировать более правильно? типа что-то там возвращать нужное при опросе плагина Тоталом, или самому следить за нажатием)))
И Три - попробуйте дважды быстро нажать F3/F5 - гарантирую - Вы обалдеете)) т.к. ваш плагин раскроется на полный экран. А этого явно не планировалось да и пользы нет от этого режима. Так что что-то надо делать с поддержкой нажатий F1-12.
И с поддержкой ESC - т.к. после активации поиска выйти по нажатию этой кнопки невозможно - оно не работает. Что-то становится типа главным topmost окном и перехватывает это нажатие.

Добавлено спустя 5 минут:

little-brother wrote:
С 2016 отвалился доступ к mdb

Это ж вроде Access'овская база данных? Ну, наверное, если и когда появятся пользователи этого чуда - то тогда и можно начать разбираться)))
Все ж хоть это и полноценный продукт Офиса и много что на нем держится, но вот чаще всего на быстрый просмотр ищут именно экселевские файлы.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Tue Nov 09, 2021 21:13    Post subject: Reply with quote

Quote:
дважды быстро нажать F3/F5 - гарантирую - Вы обалдеете))

Не, это был баг фикс как раз курсора. Я после поиска строки отправлял в окно Lister нажатие мышки и курсор приходил в норму, только вот при этом отваливается разделитель и выход по Esc, то есть клик не очень хорошее решение как оказалось. При быстром нажатии получается двойной клик и соответственно на весь экран раскрывается. Думаю на F11 добавить, чтобы штатно было (или у Lister своя комбинация?).

.mdb, да, Access. Сам никогда не пользовался, но вот тестирую и на нем. Понятно, что у него распространенность на порядок, а то и два, меньше чем у Excel. Никогда не видел ни одного продукта на этой СУБД.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Tue Nov 09, 2021 21:59    Post subject: Reply with quote

little-brother wrote:
При быстром нажатии получается двойной клик и соответственно на весь экран раскрывается. Думаю на F11 добавить, чтобы штатно было (или у Lister своя комбинация?).

Чего-то не догоняю. Комбинация чего? Листер не может и не должен раскрываться на полный экран с потерей заголовка окна. Это глюк какой-то, что у вас эта возможность вообще появилась. От этого надо избавится!
К тому же есть факт падения тотала при "прыжках" то в полный экран, то обратно. Ясно, что это плагин где-то падает, но от этого не легче. Неее. такого "спецпоказа" не должно быть априори!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 5 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


Powered by phpBB © 2001, 2005 phpBB Group