Копирование папок из WFX плагина
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Написание плагинов для Total Commander

#1: Копирование папок из WFX плагина Author: featZima PostPosted: Mon Dec 07, 2009 14:21
    —
Проблема состоит в следующем. В первый раз в функцию FsGetFile тотал передаёт нормальное локальное имя файла, а в последующие разы уже испорченное, подскажите, почему так может быть?*

1-ый раз: http://floomby.ru/content/hug1OoMem0/
2-ой раз: http://floomby.ru/content/dsPglKZXCE/

#2:  Author: CaptainFlintLocation: Москва PostPosted: Mon Dec 07, 2009 17:47
    —
featZima
А по какой причине функция вызывается второй раз?

#3:  Author: featZima PostPosted: Mon Dec 07, 2009 23:55
    —
1. Если копировать файлы, для каждого ручками нажимая F5 - всё нормально
2. Если копировать файлы, выделив несколько и нажав F5 - всё нормально
3. Если копировать папку (или папки) в которых есть эти файлы - для первого файла функция вызывается с нормальными параметрами, для остальных с испорченными...

#4:  Author: CaptainFlintLocation: Москва PostPosted: Tue Dec 08, 2009 02:50
    —
Не подтверждаю. Сейчас создал у себя в плагине простейшую функцию FsGetFileW (С++):
Code:
int __stdcall FsGetFileW(WCHAR* RemoteName, WCHAR* LocalName, int CopyFlags, RemoteInfoStruct* ri)
{
   if (theApp.ProgressProcW(theApp.PluginNr, LocalName, RemoteName, 0) == 1)
      return FS_FILE_USERABORT;
   theApp.ProgressProcW(theApp.PluginNr, LocalName, RemoteName, 100);
   return FS_FILE_OK;
}

В плагине создал папку с десятком файлов и подпапкой, в которой ещё пара файлов, вызвал копирование — все имена пришли в функцию в нормальном виде.

Подозреваю, что где-то в коде плагина происходит порча данных, на которые опирается Тотал.

#5:  Author: featZima PostPosted: Tue Dec 08, 2009 02:55
    —
Стоп) Большой спасибо, за помощь! Но с юникодным вариантом и у меня всё нормально... Проблема как раз в Ansi варианте... Про то, что плагин портит данные, не думаю -- убрал всё из функций (результат тотже)...

#6:  Author: CaptainFlintLocation: Москва PostPosted: Tue Dec 08, 2009 03:06
    —
Ну с ANSI сложнее. У меня этот плагин исключительно юникодный… Попробовал сейчас вместо FsGetFileW воткнуть FsGetFile с соответствующими модификациями, точно так же корректно всё работает, но не исключено, что общая юникодность плагина сказывается.

Идей больше не имею. Попробуй создать с нуля минимальный проект FS-плагина, где все функции — пустые заглушки, ну и чуть-чуть захардкоденных строк, чтобы список файлов непустой был, и на нём уже проверить поведение функции. Если и там баг воспроизведётся, то выложи этот мини-проектик на всеобщее обозрение. А то ни воспроизвести, ни проверить… У меня, правда, дельфей нет, так что поучаствовать смогу только методом пристального взгляда, но тут дельфистов немало обитает, авось помогут в поиске и отладке.



Total Commander -> Написание плагинов для Total Commander


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

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group