Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Программирование / Programming (https://forum.zone-game.info/forumdisplay.php?f=98)
-   -   Работа с потоками в delphi (https://forum.zone-game.info/showthread.php?t=22338)

Zubastic 22.08.2012 19:03

Re: Работа с потоками в delphi
 
Цитата:

Сообщение от G1ta0 (Сообщение 219606)
Stream.Free убери тогда из метода, и поставь в деструктор потока. Ты передаешь объект, который невалиден становится после старта потока.

Убрал из метода. Всеравно виснет при сохранении (дальше просто не идет, или идет, но программа виснет).

G1ta0 22.08.2012 19:42

Re: Работа с потоками в delphi
 
http://dump.ru/file/5831164

Вот набросал, все нормально сохраняет в отдельном потоке.

Zubastic 22.08.2012 19:56

Re: Работа с потоками в delphi
 
Цитата:

Сообщение от G1ta0 (Сообщение 219635)
http://dump.ru/file/5831164

Вот набросал, все нормально сохраняет в отдельном потоке.

Не компилится. Пишет ошибку в: HTTPDownload := TIdHTTP.Create();

G1ta0 22.08.2012 20:01

Re: Работа с потоками в delphi
 
Ну разные версии Indy, подсунь там свой код.

Zubastic 22.08.2012 20:08

Re: Работа с потоками в delphi
 
G1ta0, такой вопрос: используется TMemoryStream и TStream - в чем отличие?

Добавлено через 36 минут
Такое решение работает, но подвисание есть при сохранение, причем оно даже больше, чем у меня было. (на страничках и мелких файлах не работает, а вот при 10 мб уже начинает немножко подвисать)

Hint 22.08.2012 21:49

Re: Работа с потоками в delphi
 
TStream - абстрактный класс. TMemoryStream - наследник (через TCustomMemoryStream). Создавать объекты класса TStream по сути нельзя.

Может быть все-таки подвисает загрузка, а не сохранение? Get ведь блокирует поток на время загрузки файла. Плюс может подвисает из-за антивируса, который файл проверяет?

Zubastic 22.08.2012 22:14

Re: Работа с потоками в delphi
 
Антивирус выпилен вообще. При маленьких файлах все сразу сохраняется. При больших - долго (2-6 секунд).

Добавлено через 1 минуту
http://file.karelia.ru/7ktjw2/
вот сорсы полные, если не трудно - глянь, ибо я хз из-за чего это может происходить
также приму советы по облагораживанию своего кода :)

G1ta0 23.08.2012 00:10

Re: Работа с потоками в delphi
 
Цитата:

Сообщение от Zubastic (Сообщение 219703)
Авот сорсы полные, если не трудно - глянь, ибо я хз из-за чего это может происходить
также приму советы по облагораживанию своего кода :)

Архив не глядел, лениво, но виснуть может только на загрузке, но ты сказал что юзаешь idAntifreeze, он как раз работает примерно как я описал в первом посте после куска кода.

Zubastic 23.08.2012 18:16

Re: Работа с потоками в delphi
 
G1ta0, дык если качается мелкий файл (1-2 мегабайта) то после скачивания сразу переходит к скачке нового файла. А если файл большой - 10 метров, то после скачки идет пауза 2-6 секунд и потом дальше скачка (во время паузы двигать окошком нельзя).

G1ta0 23.08.2012 19:42

Re: Работа с потоками в delphi
 
Гляну попозже архив, пока не понимаю откуда там у тебя пауза после скачки.


Текущее время: 02:01. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot