[wlx] odbc-wlx - просмотр Access, Excel, CSV файлов
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next  :| |:
Total Commander -> Плагины Total Commander

#61:  Author: little-brother PostPosted: Sat Nov 06, 2021 17:53
    —
Отлично Smile Для инструкции правда так себе шаманизм.

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

#62:  Author: Destiny PostPosted: Sat Nov 06, 2021 19:39
    —
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

#63:  Author: Destiny PostPosted: Sun Nov 07, 2021 14:40
    —
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

#64:  Author: little-brother PostPosted: Mon Nov 08, 2021 00:03
    —
О, спасибо. После релиза добавлю инструкцию в Wiki.
Файлы то ж куда-нибудь перехостю.

#65:  Author: Destiny PostPosted: Mon Nov 08, 2021 17:06
    —
Кстати, пункт 5) Первая попытка почему-то приводит к фризу всего Тотала. Поэтому мы через диспетчер убиваем его процесс: оказывается не везде воспроизводится, что радует. Сейчас у человечка настроил этот плагин с этими дровами и у него с первого же раза все открылось. Никаких фризов, зависонов и тормозов. Так что пункт со *, так сказать.

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

Блин, чёт до меня ток ща дошло, а что - тип xlsM наш ODBC не может открыть? Засада однако(((

#66:  Author: little-brother PostPosted: Mon Nov 08, 2021 21:18
    —
Насколько я могу судить, то в 32-битные ODBC драйвера этот формат не поддерживают, а вот 64-битные вполне и потому для 64-битной версии достаточно будет просто поменять DetectString у плагина.

#67:  Author: Destiny PostPosted: Mon Nov 08, 2021 21:37
    —
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

#68:  Author: little-brother PostPosted: Mon Nov 08, 2021 21:54
    —
Code:

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

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

В коде надо править, в том числе сделать условную компиляцию, чтобы для 32-бит и 64-битные версии отдавали разные строки обнаружения.

#69:  Author: Destiny PostPosted: Mon Nov 08, 2021 22:14
    —
little-brother wrote:
чтобы для 32-бит и 64-битные версии отдавали разные строки обнаружения

А эт прям-точно-точно надо? Вроде как что там, что тут - драйвер есть. Значит файл должен бы был браться)))

#70:  Author: little-brother PostPosted: Mon Nov 08, 2021 22:46
    —
32-битный ODBC администратор не различает 32 и 64-битные драйверов и показывает их одним списком. Чтобы убедиться, достаточно запустить его (C:\Windows\SysWOW64\odbcad32.exe) и попробовать создать пользовательский DSN для Excel с xlsm. В результате вернет ошибку с odbcji32.dll, что верно.
Возможно после установки MADE x32 будет добавлен драйвер с .xlsm, но сомневаюсь. Надо будет проверить.

#71:  Author: Destiny PostPosted: Tue Nov 09, 2021 12:03
    —
little-brother wrote:
и попробовать создать пользовательский DSN для Excel с xlsm. В результате вернет ошибку с odbcji32.dll, что верно.

Создал. Ошибок нет. Но не понятно как этим пользоваться и как проверить, что получившийся Франкенштейн работоспособен. Попробовал в пустой книге Экселя создать внешнее подключение, выбрал этот новый DSN, но на этапе выбора таблицы обломался. Типа нет ничего. Хотя точно есть.

#72:  Author: little-brother PostPosted: Tue Nov 09, 2021 18:36
    —
После того, как в исходниках добавил 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

#73:  Author: Destiny PostPosted: Tue Nov 09, 2021 20:28
    —
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'овская база данных? Ну, наверное, если и когда появятся пользователи этого чуда - то тогда и можно начать разбираться)))
Все ж хоть это и полноценный продукт Офиса и много что на нем держится, но вот чаще всего на быстрый просмотр ищут именно экселевские файлы.

#74:  Author: little-brother PostPosted: Tue Nov 09, 2021 21:13
    —
Quote:
дважды быстро нажать F3/F5 - гарантирую - Вы обалдеете))

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

.mdb, да, Access. Сам никогда не пользовался, но вот тестирую и на нем. Понятно, что у него распространенность на порядок, а то и два, меньше чем у Excel. Никогда не видел ни одного продукта на этой СУБД.

#75:  Author: Destiny PostPosted: Tue Nov 09, 2021 21:59
    —
little-brother wrote:
При быстром нажатии получается двойной клик и соответственно на весь экран раскрывается. Думаю на F11 добавить, чтобы штатно было (или у Lister своя комбинация?).

Чего-то не догоняю. Комбинация чего? Листер не может и не должен раскрываться на полный экран с потерей заголовка окна. Это глюк какой-то, что у вас эта возможность вообще появилась. От этого надо избавится!
К тому же есть факт падения тотала при "прыжках" то в полный экран, то обратно. Ясно, что это плагин где-то падает, но от этого не легче. Неее. такого "спецпоказа" не должно быть априори!



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next  :| |:
Page 5 of 10

Powered by phpBB © 2001, 2005 phpBB Group