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

Здесь можно обсудить ваш любимый плагин.
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

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

Post by DV »

Latest post of the previous page:

djdron wrote:Не воспроизвелось. Делал то же самое, только сравнивал другой программой.
С последней версией FileCopyEx_2.0.0b_rev35_test.zip пока что не воспроизводится.
FAR 2.0.1706 x86, Windows 7 Ultimate x64, 4 GB RAM. Настройки плагина FileCopyEx не трогал - то есть "заводские". Копирование из папки на диске D (жёсткий диск, NTFS) в папку на диске C (тот же жёсткий диск, NTFS). Установлен и активен AVG Anti-Virus. Только претензии к антивируснику мне кажутся безосновательными: со стандартным копированием FAR в тех же условиях никаких ошибок не было, так почему антивирус должен влиять на работу FileCopyEx?
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

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

Post by djdron »

DV wrote:С последней версией FileCopyEx_2.0.0b_rev35_test.zip пока что не воспроизводится.
Странно, я в коде копирования файлов ничего не менял, в основном косметические изменения - рисование диалога копирования через стандартное Far API и баг с описаниями файлов.
GMax
Posts: 165
Joined: Wed 10 Aug, 2005 09:20
Has thanked: 1 time

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

Post by GMax »

1.9 сильно не дружил с антивирусом Drweb, частенько при копировании реально портил содержимое файлов, вплоть до того что внутри файла вместо его содержимого встречались куски антивирусных баз. чаще всего встречалось при копировании нарезанных кусками RAR архивов.
антивирус на время проверки блокировал файл, а копировщик молча писал в буфер что попало (или из буфера, не знаю)
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

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

Post by djdron »

добавил отображение прогресса копирования на панели задач windows 7
еще одна тестовая версия
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

приглядись к классу Array, в нем деструктора нету ( как и во многих других классах), а очистка идет так

Code: Select all

std::vector<ItemType> arr;
 arr.clear();
оно может и для классов очищает, вызывает деструкторы, а для структур - нет. например для Items из StringList
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

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

Post by djdron »

Когда убивается StringList, убивается его member Array<ListItem> items, который в свою очередь удаляет свой member std::vector<ItemType> arr.
Все там нормально.
Не нужно писать деструктор и вызывать items.clear() - компилер сам делает деструктор и убивает member'ы класса.
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

в классе StringList есть струтура ListItem

Code: Select all

	struct ListItem
	{
		String str;
		union
		{
			int Data;
			void* PtrData;
		};
	};
, которая загоняется в std::vector<ItemType> arr
при items.clear() диструктор структуры не будет вызван, т.к. его нет.

конкретно в этом случае - оно может не так страшно, т.к. ноги растут из FarDlgObjectReg. и при закрытии фара память почистится. но если плагин выгружать , то не почистится.

тестирую тут просто Intel Parallel Studio XE 2011, она и показала утечек пачку
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

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

Post by djdron »

sonar wrote:при items.clear() диструктор структуры не будет вызван, т.к. его нет.
:shock:
ну так деструктор в стуктуре делается автоматом, если есть мемберы, для которых должен быть вызван деструктор.
в данном случае там лежит String, у которой должен вызваться деструктор, т.к. внутри лежит std::wstring, у которой тоже есть деструктор.
если и есть какие-то утечки, то не в этом месте ;-)
там где-то выделялись строки через malloc для dialog item'ов. вот там да, могут быть утечки.
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

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

Post by djdron »

посмотрел - утечки могут быть

это то что поменялось при переходе на Far 2 API - теперь память надо выделять самому, и хз когда ее убивать. поэтому я с этим не заморачивался, т.к. там этих элементов штук 50 от силы.
Last edited by djdron on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Спрятаны технические подробности
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

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

Post by chupakabra »

теперь память надо выделять самому, и хз когда ее убивать. поэтому я с этим не заморачивался
:shock:
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

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

Post by djdron »

chupakabra, да, 50 строк - это дохера утечек, согласен :)
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 »

:facepalm:
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

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

Post by djdron »

не кручиньтесь, парни ;-) вот версия без этих утечек!
djdron
Posts: 32
Joined: Mon 13 Dec, 2010 22:33

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

Post by djdron »

sonar, затести, плз
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

стало лучше. )
но там "утечки " изначальные, т.е. не добавленные тобой. и связаны большей частью с не удалением памяти при выходе.
пока со временем напряг, ближе к новогодним праздникам погляжу внимательнее, приложу патчи
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

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

Post by ctapmex »

вот патч. не претендует на идеальность, но указывает основные проблемные места.
Attachments
37.zip
(1.2 KiB) Downloaded 102 times
Post Reply

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