Тестирование нового Download Master 5.5.9.1156

Пожелания по улучшению программы. Чего еще не хватает в DM.

Moderators: Korney San, Qwertiy, marcipan, igelizm

Post Reply
i4u1
Posts: 6
Joined: 19 Nov 2008, 11:16 Wed

Тестирование нового Download Master 5.5.9.1156

Post by i4u1 »

Slavko wrote: Работает только на дисках с NTFS системой и под Windows XP и старше.
Жду отзывов
Кодеры, вы хоть форум та читаете? давно уже решение давал для проблемы - SetEndOfFile. Что за ограничения? Откуда взялись? Что специального даёт эта ФС в вопросе "резервирования" места на диске? Ну вывалется на фате при > 2GiB и что? Так это фс проблемы а не API.
SetEndOfFile
...
Minimum supported client:
Windows 2000 Professional
Slavko
Администратор
Posts: 270
Joined: 08 Jun 2005, 14:48 Wed
Location: Киев
Contact:

Re: Тестирование нового Download Master 5.5.9.1156

Post by Slavko »

i4u1 wrote:
Slavko wrote: Работает только на дисках с NTFS системой и под Windows XP и старше.
Жду отзывов
Кодеры, вы хоть форум та читаете? давно уже решение давал для проблемы - SetEndOfFile. Что за ограничения? Откуда взялись? Что специального даёт эта ФС в вопросе "резервирования" места на диске? Ну вывалется на фате при > 2GiB и что? Так это фс проблемы а не API.
SetEndOfFile
...
Minimum supported client:
Windows 2000 Professional
SetEndOfFile проблему с задержкой при выделении места под файл не решает.
Slavko
Администратор
Posts: 270
Joined: 08 Jun 2005, 14:48 Wed
Location: Киев
Contact:

Re: Тестирование нового Download Master 5.5.9.1156

Post by Slavko »

Можно использовать этот файл для проверки:

http://mirror.yandex.ru/mandriva/offici ... d-i586.iso

Закачивать его полностью ненужно, достаточно стартовать закачку и покачать секунд 30. Посмотреть будет ли подвисание для выделения места под файл (незабудьте включить опцию Резервировать место... в настройках). Особенно интересует работа под Vista.

Для тех кто не понимает о каком подвисании речь, можете выключить опцию "Резервировать место...", и стартовать закачку вышеуказанного файла (покачать в течении хотя-бы минуты двух).
i4u1
Posts: 6
Joined: 19 Nov 2008, 11:16 Wed

Re: Тестирование нового Download Master 5.5.9.1156

Post by i4u1 »

Slavko wrote: SetEndOfFile проблему с задержкой при выделении места под файл не решает.
Может на деньги поспорим? Может вы не умеете её просто использовать?
http://rapidshare.com/files/193887965/D ... e.exe.html
Создаёт файл в той же директории. Смотреть размер. Засекать секундомером время.
Slavko
Администратор
Posts: 270
Joined: 08 Jun 2005, 14:48 Wed
Location: Киев
Contact:

Re: Тестирование нового Download Master 5.5.9.1156

Post by Slavko »

i4u1 wrote:
Slavko wrote: SetEndOfFile проблему с задержкой при выделении места под файл не решает.
Может на деньги поспорим? Может вы не умеете её просто использовать?
http://rapidshare.com/files/193887965/D ... e.exe.html
Создаёт файл в той же директории. Смотреть размер. Засекать секундомером время.
Можно вас еще попросить в конец созданного файла, после SetEndOfFile(hFile); записать еще пару килобайт информации.
i4u1
Posts: 6
Joined: 19 Nov 2008, 11:16 Wed

Re: Тестирование нового Download Master 5.5.9.1156

Post by i4u1 »

Slavko wrote: Можно вас еще попросить в конец созданного файла, после SetEndOfFile(hFile); записать еще пару килобайт информации.
ПРостите, не понял. Когда ставим конец файла, то файловый указатель соответственно стоит на конце файла.
программа забивает всё свободное место файлом, содержимое которого неопределено, но определён конечный размер = свободному месту на текущем диске.
Я видел структуру ваших файлов для закачки (т.е. место для файла+его координаты + др.нужная информация). Стратегия таже двигаем файловый указатель куда нужно ставим метку конца. чтобы начать работу сначала с файлом либо ставим указатель опять вначало либо заново переоткрываем файл.
Slavko
Администратор
Posts: 270
Joined: 08 Jun 2005, 14:48 Wed
Location: Киев
Contact:

Re: Тестирование нового Download Master 5.5.9.1156

Post by Slavko »

i4u1 wrote:
Slavko wrote: Можно вас еще попросить в конец созданного файла, после SetEndOfFile(hFile); записать еще пару килобайт информации.
ПРостите, не понял. Когда ставим конец файла, то файловый указатель соответственно стоит на конце файла.
программа забивает всё свободное место файлом, содержимое которого неопределено, но определён конечный размер = свободному месту на текущем диске.
Я видел структуру ваших файлов для закачки (т.е. место для файла+его координаты + др.нужная информация). Стратегия таже двигаем файловый указатель куда нужно ставим метку конца. чтобы начать работу сначала с файлом либо ставим указатель опять вначало либо заново переоткрываем файл.
Я имел ввиду передвинуть указатель назад на пару килобайт от конца и записать данные. Наверное непонятно выразился.

Можно даже проще, попробуйте после строки c вашим SetEndOfFile(hFile) записать байт данных в конец файла (в последний байт, туда где указатель стоит) через: WriteFile(...)
i4u1
Posts: 6
Joined: 19 Nov 2008, 11:16 Wed

Post by i4u1 »

Речь шла о резервировании. я дал для вашего случая решение. даже с примером.
Ещё одно или несколько дать? Для вашего случая подойдут вот эти:
1. FILE_FLAG_OVERLAPPED
2. threading
Везде нужна синхронизация +осторожность в использовании.
Да действительно, система тратит какое-то время на инициализацию если сразу идёт запись в конец, но это не повод всё это делать в одном потоке где и ГУЙ обрабатывается и всё остальное. решение см.выше.
Post Reply