![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ftp, indy (TIdFTP) [D6, 2000]
workbench © (2008-09-23 09:36:00)Здравствуйте, закачиваю файл с ftp посредством Indy IdFTP так:
FTP.Get(Sourse, Dest, true, false)
// файл нужно заменить, докачка не нужна
при этом прога зависает через раз, когда прохожу отладчиком то "подвисает" (прчём намертво) именно на этой строке, подключён в пассивном режиме, подскажите, плиз, что может быть...
Dennis I. Komarov (2008-09-24 10:16:00) [1]
> Инди бяка.
+1, но ICS тоже надо уметь готовить. (да и не все там у них гладко)
WinInet.pas!!!
Anatoly Podgoretsky (2008-09-24 09:57:00) [2]Удалено модератором
Anatoly Podgoretsky (2008-09-24 09:57:00) [3]> Dennis I. Komarov (24.09.2008 9:24:27) [27]
Для тебя - переходи на ICS,
Инди бяка.
Dennis I. Komarov (2008-09-24 09:24:00) [4]
> Anatoly Podgoretsky © (23.09.08 16:17) [26]
А где же реклама ICS? ;)
Anatoly Podgoretsky (2008-09-23 16:17:00) [5]> workbench (23.09.2008 16:12:25) [25]
Ну я тем более не могу, я с ними не работаю.
workbench (2008-09-23 16:12:00) [6]а я это принял за "афоризм" ))), а если серьёзно - то на равных рассуждать об этих компонентах не могу конечно
Anatoly Podgoretsky (2008-09-23 15:58:00) [7]> workbench (23.09.2008 15:52:23) [23]
Основной глюк в том, что это чужеродное для Виндоус тело.
А если ты читал хотя бы комментарий от переводчика, то ты должен был обратить внимание на фразу "что эта книга не о Инди"
workbench (2008-09-23 15:52:00) [8]
> Anatoly Podgoretsky
Я в вашей книге (в вашем переводе, "Indy in depth") таких слов не встречал (хотя читал далеко не всё)
Anatoly Podgoretsky (2008-09-23 15:49:00) [9]> workbench (23.09.2008 15:40:21) [21]
Только один - сплошной глюк.
workbench (2008-09-23 15:40:00) [10]да, пока всё гуд, может и дальше всё нормально будет... по поводу [20] - доселе всё с этими компонентами было хОКкей, удивлён что в них есть "общепризнанные" косяки...
спасибо всем кто принял участие в теме :]
Сергей М. (2008-09-23 13:08:00) [11]
> здесь косячить-то вроде особо негде
9-я индейская версия славна "косяками" на ровном месте.
Их и в 10-ке немало, но тем не менее)
workbench (2008-09-23 12:58:00) [12]да вот поставил 512, пока ни разу не сбойнуло, возможно и правда из-за этого... всё равно дурдом конечно (я имею ввиду такую вот закачку, раз через раз, возможно конечно руки кривые, но здесь косячить-то вроде особо негде)
clickmaker (2008-09-23 11:54:00) [13]сделай буфер побольше
512 или 1024
workbench (2008-09-23 11:25:00) [14]вот ещё что интересно, файл который закачиваю занимает 45340 байт, когда я пытаюсь его скачать и при этом происходит подвисание он на диске всё-таки появляется и занимает 45300 байт (кратно стам), а у меня как раз RecvBufferSize равен сотне, может с этим как-то связано?
workbench (2008-09-23 11:13:00) [15]такого что-то и не видно тут (TransferTimeout в TIdFTP), из-за чего такое вообще может быть-то, касперского отключил уже - всё равно стабильно переодически подвисает, караул просто ((((
Сергей М. (2008-09-23 10:56:00) [16]Попробуй еще св-во TransferTimeout выствить в ограниченное значение - оно по ум-ю тоже равно INFINITE
workbench (2008-09-23 10:43:00) [17]
> Сергей М
всё так и сделал... говорю то что вижу: 3 раза закачал нормально потом опять подвис, исключения по readtimeout`у нету(((
try
FTP.ReadTimeout := 10000;
FTP.Get(Sourse, tmp_file_name, true, false)
except
...
end
Сергей М. (2008-09-23 10:28:00) [18]Выкинь свой антифриз по кр.мере на момент отладки - он отношения к "проблеме" вообще не имеет.
Установи ReadTimeout, скажем на 10 сек и лови исключение)
workbench (2008-09-23 10:20:00) [19]
> Сергей М.
В основном потоке
workbench (2008-09-23 10:19:00) [20]знакомлюсь...
Описание sleep:
Sleep is a public class procedure that forces a TIdAntiFreezeBase descendant to yield processor cycles for as many as ATimeout milliseconds
English плохо у меня, я так понял что св-во TIdAntifreeze.IdleTimeOut показывает сколько времени должно пройти до вызова sleep(ATimeout), который в свою очередь в течении ATimeout "даёт работать приложению", так?