FileCopyEx: File Copy Extended — Расширенное копирование

Здесь можно обсудить ваш любимый плагин.
Anax
Posts: 5
Joined: Fri 04 Dec, 2009 11:39

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by Anax »

Latest post of the previous page:

У меня настройки почему-то стали сохраняться в какое-то странное место:
HKEY_CURRENT_USER\Software\Far2\Plugins\UnknownPlugin

И при параллельном копировании больших файлов дескрипторы утекают.
Dzirt2005
Posts: 326
Joined: Fri 29 Feb, 2008 12:11
Been thanked: 10 times

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by Dzirt2005 »

Anax wrote:У меня настройки почему-то стали сохраняться в какое-то странное место:
HKEY_CURRENT_USER\Software\Far2\Plugins\UnknownPlugin
И правда (plugin.h: 56):

Code: Select all

...
    const char* RegRootKey() const { return "UnknownPlugin"; }
...
:)
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by djdron »

Anax wrote:У меня настройки почему-то стали сохраняться в какое-то странное место:
HKEY_CURRENT_USER\Software\Far2\Plugins\UnknownPlugin
Ога, забыл на функции базового класса написать virtual :)
И при параллельном копировании больших файлов дескрипторы утекают.
Нашел буг - не освобождались хэндлы венды от потоков которые периодически запускаются и работают в параллельном режиме копирования.

Ну и как обычно - новая тестовая версия :)
User avatar
DAtaMan
Posts: 262
Joined: Wed 24 Jun, 2009 10:01
Location: не отсюда

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by DAtaMan »

Из багов - плагин перестал работать в режиме far.exe /w Копирование-то идёт, но диалога хода копирования нет (первые тестовые работали).
Из хотелок - работа с фильтром, конечно.
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by djdron »

DAtaMan wrote:Из багов - плагин перестал работать в режиме far.exe /w Копирование-то идёт, но диалога хода копирования нет (первые тестовые работали).
Не работал он в этом режиме - проверил. Окошка копирования и прогресса вообще не было. Потому что оно рисовалось "вручную".
Но т.к. глючили тени, я его переделал через родное Far API.
Теперь есть окошко, но нет текста в нем, т.к. криво рассчитывались координаты. :)

Починил. Пока версия только в svn.

гг.. теперь глючит в обычном режиме, если размер консоли больше окна (с прокруткой).
Вся беда в том что в Far API нет функции "взять координаты диалога".
User avatar
lordmuzer
Posts: 533
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Has thanked: 20 times
Contact:

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by lordmuzer »

странно.
а как же тогда много остальных плагинов с диалогами нормально работаю и в far.exe /w и без него ?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by DrKnS »

Если рисовать средствами far api (Info.Text()), то для "far /w" координаты пересчитывать не надо, думать об этом не надо и даже знать об этом ключе не надо, фар сам всё пересчитает и в нужном месте нарисует.
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by djdron »

DrKnS, при копировании и отображении окон с прогрессом вызывается функция
Info.Message(Info.ModuleNumber, FMSG_LEFTALIGN|FMSG_ALLINONE, NULL, (const wchar_t**)tpl.ptr(), 0, 0);
Она рисует окно без кнопок и т.п, а текст и прогресс-бары потом дорисовываются сверху. Так вот непонятно, как получить координаты, в которых Far нарисовал этот диалог.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by DrKnS »

держи текст и бары в массиве строк сообщения и делай Info.Message() на каждую отрисовку.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by Max Rusov »

При этом нельзя менять цвета внутри надписи, насколько я помню.
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by djdron »

да, а они там изменены...
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by DrKnS »

Вам шашечки или ехать?
User avatar
lordmuzer
Posts: 533
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Has thanked: 20 times
Contact:

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by lordmuzer »

согласен с DrKnS
лучше пусть будет в стандартных цветах, но что бы сам диалог не ломался.
потом уже думать о шашечках.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by Max Rusov »

Если дело только в тени - то проще самому рисовать рамку диалога, без тени обойдемся.
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by djdron »

Дык в том-то и дело что самому рисовать диалоги - криво.
проверил старую версию (там где диалог рисовался вручняка) в режиме far /w - вообще нет никакого диалога :)
попробую переделать полностью через Far API (без расцветки).

В этом плане становится не совсем понятна функция Info.Text() - куда текст рисовать, если не понятно откуда брать его координаты? :)
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: FileCopyEx: Extended File Copy — Расширенное копирование

Post by Maximus5 »

Так тебе же сказали, забудь про .Text(), передавай массив строк в .Message.
Хотя правильнее было бы создать нормальный фаровский диалог, и обновлять в нем информацию из нити копировщика через ACTL_SYNCHRO
Post Reply

Return to “Обсуждение плагинов”