![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| 3D-Dragon |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 7.1.2003 Где: Днепропетровск, U A Репутация: нет Всего: нет |
Помогите, пож-та, подружить эти два компонента !
Ну никак не хочет отображаться процесс download-a файла в ProgressBar Делаю так: procedure TReceiveReportForm.IdFTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer); begin Progress.Position:=0; Progress.Max:=AWorkCountMax; end; procedure TReceiveReportForm.IdFTPWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); begin Progress.Position:=AWorkCount; end; В итоге ProgressBar постоянно пустой idHTTP работает без проблем ... |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Во-первых, я проверил бы в дебагере, что callback-функция вызывается.
И если вызывается попробовал бы сделать Refresh компонентам. |
|||
|
||||
| 3D-Dragon |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 7.1.2003 Где: Днепропетровск, U A Репутация: нет Всего: нет |
Можно подробнее ? Файлы же качаются, только не видно процесса в ProgressBar ...
А это зачем ? Ведь с idHTTP всё работает и без рефреша ... Забыл сказать, что это компоненты Indy Это сообщение отредактировал(а) 3D-Dragon - 2.4.2003, 16:52 |
||||
|
|||||
| Napalm |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 4.3.2004 Репутация: нет Всего: нет |
поборол? у меня такая же проблема... там получается
AWorkCountMax=0 и сдедовательно Progress.Position:=0; Progress.Max:=AWorkCountMax; max выставляется в 0 и при присвоении position какого либо значения в статусе ничего неотображается. встает следующий вопрос, как определить размер файла который тянешь с ftp? Это сообщение отредактировал(а) Napalm - 17.3.2004, 17:54 |
|||
|
||||
| sergmuz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.1.2004 Репутация: нет Всего: нет |
Блин, есть ли вообще нормальные бесплатные компоненты для FTPClient !?
NMFTP глючил, хотя по функциям компонент просто супер, вот мучался, по совету некоторых, скачал Indy 9.0 теперь и этот оказывается не отображает нормально ProgressBar, проверял на примере из демо Indy, тоже самое, логика работы FtpClient1 из набора ICS для меня тоже несколько не понятна, чтобы например получить List, необходимо предварительно сделать Quit. Ребята, помогите пожалуйста найти что-то стоящее, проект горит. Это сообщение отредактировал(а) sergmuz - 30.5.2004, 16:55 |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
есть такой баг, приходится делать так:
ProgresBar.Max := idFTP.Size('some_file'); idFTP.Get('some_file'); Добавлено @ 21:19 sergmuz если чесно перекопал кучу компонетнов Индейцы самое то что надо. если сверх-задач нет, то еще хорошие iPRO (Internet PRO) правда где скачать незнаю у меня с диска, для людей слабо знающих HTTP и FTP очень удобный, сам свой поток создает, ошибки преводит ну и т.п. а вот если че-то помимо этого надо, то только индецы спасут... -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| sergmuz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.1.2004 Репутация: нет Всего: нет |
не помог Там проблема похоже на уровне IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); Значение AWorkCount обновляется с большим интервалом, например при закачке файла размером 11Кб на протяжении всей закачки AWorkCount был равен нулю, соответственно и ProgresBar на нуле За iPRO (Internet PRO) спасибо, интересный компонент, обязательно поюзаем, правда смутило то, что в демонстрационном примере FtpDemo есть ссылки на две не существующие и не учавствующие в проекте формы, а также отсутствует какая либо реакция на не удавшееся подключение, OnFtpError при этом молчит вообще. Даа, похоже ничего лучшего Indy я не найду, а жаль ... |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
sergmuz, можно и не только через компоненты качать файлы по фтп/хттп. Смотри WinInet:
InternetOpen InternetOpenURL потом в цикле делай InternetReadFile и прогрессируй прогрессбар... -------------------- С уважением, г-н Посол. |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Вообще-то есть, но оно как-то мудрено называется точно непомню но чето типа onFTP-FTPError:) как-то так -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| sergmuz |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.1.2004 Репутация: нет Всего: нет |
Да, действительно есть, OnFtpLoginError называется. |
||||
|
|||||
| Eitvas |
|
|||
|
Unregistered |
You can determine file size by doing this IdFTP->Size(file)
file - file in current directory of FTP |
|||
|
||||
| Eitvas |
|
|||
|
Unregistered |
Hi again, i found an answer to question why progress won't change. Its seems that you must write
Application.ProcessMessages after anything write in application while downloading something. So the answer would be : procedure TReceiveReportForm.IdFTPWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); begin Progress.Position:=AWorkCount; Application.ProcessMessages(); or Application.ProcessMessages; (don't realy know delphi end; sorry for writing it in english but i'm not russian and don't have russian keybord layout |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |