[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

#106:  Author: Destiny PostPosted: Wed Mar 30, 2022 14:24
    —
little-brother wrote:
Удалил вывод всех сообщений до этого и добавил подробное описание для операций по изменению ширины колонок

ну и теперь ничего нет - сразу падение.

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

Теперь дебагер показывает
> odbc-wlx.wlx!Menu_SetItemState() + 0xd9e bytes

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

Я думаю, если получиться собрать в студии и с файлами pdb - то в таком случае я смогу открыть дамп падения совершенно четко.
Без угадываний - на какой строке что не так пошло)))

#107:  Author: little-brother PostPosted: Wed Mar 30, 2022 15:56
    —
Попытался сам собрать в MSBuild 2015 - ошибка C2057. Беглым поиском нашлось, что компилятор C/C++ от Студии не умеет в массивы переменной длины, т.е. вот такой код невалиден для Студии, хотя и соответствует стандарту C99
Code:

int main() {
   int len = 10;
   int arr[len];
}


Причина насколько я понял в том, что один и тот же компилятор используется для C (в нем допустимо) и C++ (а здесь вроде как нет). Хотя mingw (gcc и g++) поддерживает такое без проблем.

P.S. Загрузился под 10-кой. Да, вылет есть, так что отловить проблему будет проще наверно (если она не в ODBC-части).

P.P.S. Падает на 1176 строке
Quote:

ListView_SetColumnWidth(hGridWnd, 0, w + 1);

Возможно от того, что контрол таблицы еще не виден. Это конечно за гранью бобра (вызов должен вернуть ошибку, а не заваливать приложение). Надо подумать как это пофиксить.

В целом странно, что другие плагины не падают или никто не сообщил об этом. Видимо Win10x64 + TCx32 редкая связка или плагинами не пользуются Very Happy

P.P.P.S. Добавил проверку на видимость контрола и вроде все заработало. Просьба проверить - https://disk.yandex.ru/d/IcUy72hc7sfxHg

#108:  Author: Destiny PostPosted: Wed Mar 30, 2022 20:35
    —
little-brother wrote:
Просьба проверить - https://disk.yandex.ru/d/IcUy72hc7sfxHg

Работает!!!

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

little-brother wrote:
В целом странно, что другие плагины не падают

Думается мне, что найти плагин, написанный целиком на голом С и win32API - это надо охренеть как постараться)))
А что и как во фреймворках сделано для обработки этой ситуации - хз. Может прям там есть строки в их исходниках: для обхода глюка под виндой делаем вот так... и там они так же проверяют видимость)))

#109:  Author: little-brother PostPosted: Wed Mar 30, 2022 20:58
    —
Да я про другие свои плагины (пять что ли) - там же такой же код используется.
Сторонние плагины не падают, поскольку видимо используют уже Net-окошки, которые со стандартными компонентами не связаны.

В целом поведение Win10 начинает удручать - какие то странные косяки, то с Richedit контролом, то вот с этим. Походу реализация стандартных контролов там уже левой пяткой деляется.

#110:  Author: Destiny PostPosted: Wed Mar 30, 2022 22:09
    —
little-brother wrote:
Походу реализация стандартных контролов там уже левой пяткой деляется.

Отсюда правило - надо набирать свою библиотеку контролов. Можно и скопиженную откуда-то)). Можно и большую по объему. Главное, чтобы такие глюки там не существовали по умолчанию)))

#111:  Author: little-brother PostPosted: Wed Mar 30, 2022 22:42
    —
Думаю везде хоть какие то глюки да найдутся. Нет идеального решения.
Если бы я зарабатывал разработкой плагинов, то имело хоть какой то смысл, а так - плагино-писание just-for-lulz.

#112:  Author: Destiny PostPosted: Thu Mar 31, 2022 13:46
    —
little-brother
А с фильтрами ничего такого не сломалось случайно параллельно?
У меня они не работают в этой версии.
Есть столбец с номерами телефонов. Вбиваю номер - его нет. ХОТЯ! он первый в этом столбце! Т.е. 10000% он есть.
Вбиваю просто цифру 9, все мобильные номера с 9 (что после +7) начинаются в моем списке - и ... 0 совпадений.
Хотя это ВСЕ номера, т.е. ВСЯ таблица! Т.е. фильтр просто должен был оставить всё, что показано было без него.

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

Ммммм. вон оно что!
Если в плагине открывается файл csv - то поиск приводит к желаемому.
А вот если это xlsx файл - то ничего не ищется((( Что весьма странно, ибо в плагине
явно же ЛИШЬ текстовые значения. Нет каких-то особых форматов, как в самом экселе,
где число в формате Число - это не число в формате Текст. Там-то этой головной боли хватает...


Last edited by Destiny on Thu Mar 31, 2022 15:48; edited 2 times in total

#113:  Author: little-brother PostPosted: Thu Mar 31, 2022 15:31
    —
Странно. Можно пример с парой строк?

Изменений в текущей версии всего одна строка - проверка на видимость контрола таблицы, так что это ничего сломать не могло.

#114:  Author: Destiny PostPosted: Thu Mar 31, 2022 15:44
    —
little-brother wrote:
Странно. Можно пример с парой строк?

Дык любой само собой сгенерённый подойдет.

Просто в экселе вставляем, к примеру, 9991234567 в ячейку, сохраняем в xlsx и потом тут же в csv. И проверяем полученные файлы.


Last edited by Destiny on Thu Mar 31, 2022 16:19; edited 3 times in total

#115:  Author: little-brother PostPosted: Thu Mar 31, 2022 16:09
    —
Да так то я проверил - все ок вроде. Данные в памяти хранятся как строки, так что в любом случае искать должен без проблем.

#116:  Author: Destiny PostPosted: Thu Mar 31, 2022 16:09
    —
Я тут пошел по рукам))) По дефолтным инишкам, сравниваю свои значения с этими, выставляю желаемое... И вот немного подзавис в некоторых местах.
1. csvtab. Сугубо для точности: текст "Remove spaces and TABs the beginning and end of values" упустил предлог at: "Remove spaces and TABs at the beginning and end of values"
2. Для jsontab плагина есть запись: header-row = 1 ; 0/1
НО! в плагине в меню даже нет команды Спрятать/показать Заголовки! Т.е. вставляй/не вставляй/меняй/не меняй значение этой опции - ничего не изменится в плагине.
3. Точно такая же проблема для xmltab плагина. В ини есть header-row = 1 ; 0/1, но в меню плагина соответствующего пункта/команды нет.
4. Для плагина xmltab у меня нашлась опция format=1, но в описании инишника такой нет. Это что-то было когда-то? Уже и не найду концов...

#117:  Author: little-brother PostPosted: Thu Mar 31, 2022 16:20
    —
1. Спасибо, поправлю.
2, 3 - ага, лишнее затесалось.
4 - отвечает за форматирование XML при выводе на вкладке. Если XML уже был отформатирован, то разницы нет. В default.ini да, описание оказалось пропущенным.

#118:  Author: Destiny PostPosted: Thu Mar 31, 2022 16:22
    —
little-brother wrote:
Да так то я проверил - все ок вроде.

https://www.upload.ee/files/14011380/_tests.zip.html
вот три файла, у каждого из двух вложенных экселевских файлов свой прибабах в отрисовке плагином этих номеров телефонов (обратите внимание на оконцовку номера - в одном случае её нет - как и должно быть, а в другом - ".0" - хотя в оригинале её нет - И ЭТО по идее тоже ещё одна ошибка / глюк работы ODBC драйвера что ли? Хорошо бы это убрать). НО мои слова по поиску они отражают полностью. В csv поиск/фильтрация есть, а в двух экселевских - шиш.

#119:  Author: little-brother PostPosted: Thu Mar 31, 2022 17:02
    —
Quote:
а в двух экселевских - шиш.

Доступно в платной версии плагина! Laughing Laughing Laughing

В приведенных файлах ошибка повторилась, буду смотреть.

#120:  Author: Destiny PostPosted: Thu Mar 31, 2022 17:28
    —
little-brother wrote:
ошибка повторилась, буду смотреть

и про лишнюю оконцовку ".0" тоже гляньте)))



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 8 of 10

Powered by phpBB © 2001, 2005 phpBB Group