View previous topic :: View next topic |
Author |
Message |
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Sat Oct 30, 2021 17:01 Post subject: |
|
|
little-brother wrote: | Попробовал и с правильным й - аналогично открывается. |
Если в этот пост вы вставляли этот же символ что и в имени файла, который проверяли - то это не тот символ. Это чистый символ "И краткое".
https://www.upload.ee/files/13593510/____________________________________.rar.html
вот архив с таким файлом.
little-brother wrote: | Сделаю наверно переключение через всплывающие меню по клику на соотв. элементу в строке состояния. |
Очень даже хорошее решение! |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sat Oct 30, 2021 17:07 Post subject: |
|
|
У меня на 7-ке открылось (и 32, и 64 версии). Надо проверить на 10-ке.
|
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Sat Oct 30, 2021 17:11 Post subject: |
|
|
little-brother wrote: | Надо проверить на 10-ке |
Ну, у меня на 10ках! - т.е. на трех что под рукой - нет.
Добавлено спустя 4 минуты:
little-brother wrote: | Нечитаемый интерфейс - это косяк Win10. По этой причине на 7ке и сижу.
Воевать с мельницами и перерисовывать системные компоненты смысла не вижу. |
кстати, а не надо ВСЁ прям перекрашивать. Просто покрасьте только ячейки, что содержат в себе заголовки в более серый тон. А то сейчас ну он совершенно сливается со всем белым, что рядом.
Ну ужасно выглядит по сравнению с вашими цветами.
И да чтобы открыть этот файл я поменял букву "и краткое" на правильную. |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sat Oct 30, 2021 17:41 Post subject: |
|
|
Может быть дело в версии TC? Проверил на 10-ке - то ж открылось.
А не открывается - это плагин падает или Lister показывает содержимое файла просмотрщиком по умолчанию?
Заголовок покрасить не слишком сложно вроде, надо посмотреть как это делается и цвет подобрать. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Sat Oct 30, 2021 21:03 Post subject: |
|
|
little-brother wrote: | Lister показывает содержимое файла просмотрщиком по умолчанию |
именно.
Добавлено спустя 12 минут:
little-brother wrote: | Может быть дело в версии TC? |
А это то как привязать? у меня последняя десятка. И сам ТС прекрасно работает с этим файлом. Другие схожие плагины так же прекрасно открывают этот файл. Т.е. тут очень точечная проблема в сабже... |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sat Oct 30, 2021 21:15 Post subject: |
|
|
Кстати, а размер файла случайно не больше 10мб? По умолчанию файлы большего размера открываются именно в стандартном виде.
Увеличить размер файла можно в ini задав max-file-size.
Но если после переименования открывается, то надо все таки попробовать повторить ошибку (не очень понятно как отлаживать то, чего не видно).
Если обнаружится какой-нибудь файл, который вызывает падение плагина, то просьба его выслать, если будет возможность. Я попробовал удалять значения из колонок или добавить лишние, но плагин не падает
Возможно проблема, если используется UTF32? |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Sat Oct 30, 2021 23:28 Post subject: |
|
|
little-brother wrote: | Кстати, а размер файла случайно не больше 10мб? |
Речь идет о том файле, что вы скачали для тестов имени файла! Какой тут размер...
И кстати, если потенциально проблема открытия может быть связана с размером файла - то плагин при попытке открыть такой "неудобный" файл - должен выдавать хотя бы какое-то информационное окно на экран, если сам открыться не может таблично и показать всю инфу из файла. Ибо я не уверен, что буду помнить о таком ограничении как размер файла. А выставлять сразу лимит в 1 Гб думаю наверное слишком же? Или как?
little-brother wrote: | Но если после переименования открывается, то надо все таки попробовать повторить ошибку (не очень понятно как отлаживать то, чего не видно). |
Именно, поменял неверную букву Й на верную и тут же всё открылось.
Отлаживать легко - просто пишите в лог действия внутри кода плагина. Начиная прямо с первого вызова главной функции плагина Тоталом. Тотал же передает имя файла для обработки. А вы уже и пытаетесь его открыть. Вот и надо всё логировать - как этот процесс происходит. |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sun Oct 31, 2021 02:57 Post subject: |
|
|
Quote: | А выставлять сразу лимит в 1 Гб думаю наверное слишком же? Или как? |
Да думаю можно наверно и гиг, и два. Просто при просмотре огромных файлов плагин будет открывать их неспешно, в особенности по сравнению со штатным просмотрщиком, который читает только кусочек файла. Кроме того, поскольку весь файл грузится в память, а потом конвертируется в UTF16LE (это родная кодировка Windows), то для обработки потребуется х2-3раза оперативы (сейчас это вроде не проблема). Добавлю наверно опцию нулевой размер, чтобы плагин игнорировал проверку размера файла.
У меня то проблема с именем не проявляется, все открывается и в Win7 и в Win10, а потому отладка ничего не даст Да и нечего там логировать - имя приходит в ANSI (TC использует устаревшую кодировку, т.к. это исторически так сложилось - он уже на Win95/98 работал, где UTF16 завезли не сразу), я его конверчу в UTF16LE и открываю файл. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Sun Oct 31, 2021 11:28 Post subject: |
|
|
little-brother wrote: | отладка ничего не даст Да и нечего там логировать - имя приходит в ANSI (TC использует устаревшую кодировку, т.к. это исторически так сложилось - он уже на Win95/98 работал, где UTF16 завезли не сразу), я его конверчу в UTF16LE и открываю файл |
Это на МОЕЙ машине даст пользу - т.к. вы сможете прочитать МОЙ лог и сравнить со своим - где то же имя, но открывается, а на моей машине нет. Вот и найдете узкое место...
Вполне вероятно, что уже на моменте передачи имени действительно есть какое-то отличие. Или в процедуре конвертации вылетает какая-то ошибка и вуаля. Плаг не сработал.... |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Sun Oct 31, 2021 14:19 Post subject: |
|
|
Destiny
Что за буква такая чудная или файл там, дайте поглядеть то. Вдруг и у меня не откроется. |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Sun Oct 31, 2021 17:21 Post subject: |
|
|
little-brother wrote: | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
ACP = 1251
1251 = c_1251.nls
1252 = c_1252.nls
Совпадает? |
совпадает.
little-brother wrote: | (выводится два всплывающих окна - первое в ANSI кодировке, второе - уже в UTF16). |
выводится только для 32 битного плагина. 64 бит. даже не вызывается???
Вы точно в само-пресамом начале первейшего вызова плагина из тотала вставили вывод этого диалога? |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sun Oct 31, 2021 17:46 Post subject: |
|
|
Да, в самом начале и должно вывести два сообщения
Заметил, что имя у Лайф с неправильным й получается странное
Возможно это даже косяк TC. Хотя файл у меня открывается. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Sun Oct 31, 2021 17:58 Post subject: |
|
|
little-brother wrote: | Да, в самом начале и должно вывести два сообщения |
Ну тогда я ничего не понимаю. для 64битного плага этого окна нет. Т.е. Тотал сам не вызывает плагин? Но почему вызывает другой схожий плагин?
Может какая другая функция Тоталом для плагина вызывается, чтобы определить - может ли он обработать этот файл или нет. ДО ListLoad...
Кстати, а почему ListLoad, когда для юникодных систем должны быть вызов ListLoadW???
И руководство от Гислера говорит:
Code: | What's the easiest way to support Unicode in an existing plugin?
There are actually two ways, an "all in one" combined Unicode/ANSI plugin, and two separate plugins.
A. Combined Unicode/ANSI plugin
1. Get my sample plugin fsplugin (file system plugins section) even if you write a different type of plugin!
2. Add the files cunicode.h and cunicode.cpp to your project. They contain various functions to make Unicode support easier.
3. Convert your existing functions to Unicode and rename them to FunctionNameW. For all file functions like CreateFile, do not call their Unicode counterpart CreateFileW directly. Instead, call the functions from cunicode.cpp like CreateFileT. These functions automatically call the right Unicode or ANSI function, and even support file name lengths >259 characters!
4. For each converted function like FunctionNameW, recreate a function FunctionName which you call this way:
int __stdcall FunctionName(char* SomeString1,char* SomeString2)
{
WCHAR SomeString1W[wdirtypemax],SomeString2W[wdirtypemax];
return FunctionNameW(awfilenamecopy(SomeString1W,SomeString1),awfilenamecopy(SomeString2W,SomeString2));
}
The Macro awfilenamecopy will convert the ANSI string SomeString1 to Unicode and store it inSomeString1W. This variable must not be a pointer, because awfilenamecopy uses "countof" to get the target length.
|
|
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sun Oct 31, 2021 18:10 Post subject: |
|
|
Точно, походу в этом и есть ошибка!
В самом начале вызывается ListGetDetectString для определения подходящее ли расширение или нет
Code: |
void __stdcall ListGetDetectString(char* DetectString, int maxlen) {
snprintf(DetectString, maxlen, "MULTIMEDIA & ext=\"CSV\"");
}
|
Видимо у вас имя файла теряет конечный .CSV и в результате плагин не открывает. Чтобы убедиться в этом Можно прописать csvtab открывать файлы всех типов (насколько я знаю, строку обнаружения пользователь как то может для плагина задать самостоятельно) и проверить - откроет или нет.
Quote: | а почему ListLoad, когда для юникодных систем должны быть вызов ListLoadW? |
Потому что до туда я не дочитал
По идее разницы быть не должно, но похоже, что она имеется.
Просьба проверить Unicode-версию (сообщений выводиться не должно) - https://sgeproject.narod.ru/wlx/csvtab-wlx-test2.zip
Если были файлы, на которых плагин падал, то еще и проверить на них. |
|
Back to top |
|
|
|
|
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
|