Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2009, 01:45   #1
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию Побороть зависание при слабом интернете

Есть приложение, которое проходит авторизацию на одном сайте, так вот, при слабом интернете, приложении буд-то зависает, и нужно ждать и смотреть в буд-то завишее меню . . . Подскажите как побороть данную проблему, я пробовал через потоки, но как мне показалось, так дольше грузится, чем без них
RIO вне форума Ответить с цитированием
Старый 17.09.2009, 01:59   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

А какой компонент используется indy ?
uberchel вне форума Ответить с цитированием
Старый 17.09.2009, 02:05   #3
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Используется THTTP
RIO вне форума Ответить с цитированием
Старый 17.09.2009, 02:15   #4
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Цитата:
Сообщение от RIO Посмотреть сообщение
Используется THTTP
Наверно IDHTTP на вкладке IndyClients ))
На вкладке IndyMisc найтете компонент idAntiFrizee, просто киньте его на форму и се, можете так же добавить к концу кода авторизации Application.ProccessMessages;
uberchel вне форума Ответить с цитированием
Старый 17.09.2009, 02:26   #5
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Спасибо за совет Но ничего не помогло
RIO вне форума Ответить с цитированием
Старый 17.09.2009, 02:28   #6
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Код авторизации в студию....
uberchel вне форума Ответить с цитированием
Старый 17.09.2009, 02:44   #7
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Код:
procedure TBox.GetCaptcha;
var
  S, T: string;
  I, P: Integer;
  Captcha: TMemoryStream;
begin
  S := HTTP.Get('http://www.mts.com.ua/ukr/sendsms.php');
  P := Pos('/back/modules/golden/captcha.php?', S);
  Delete(S, 1, P);
  for I := 1 to Length(S) do
      if S[i] <> '"' then
         T := T + S[i]
      else
         Break;
  Captcha := TMemoryStream.Create;
  HTTP.Get('http://www.mts.com.ua/' + T, Captcha);
  Captcha.Seek(0, 0);
  Captcha.SaveToFile('Captcha.Jpg');
  Image1.Picture.LoadFromFile(GetCurrentDir + '\Captcha.Jpg');
  DeleteFile(GetCurrentDir + '\Captcha.Jpg');
  Captcha.Free;
end;
PS : Вот это например, здесь мы вытаскиваем капчу
RIO вне форума Ответить с цитированием
Старый 17.09.2009, 03:16   #8
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Я думаю так быстрее будет и удобнее:
Код:
procedure TBox.GetCaptcha;
var
  TS: TMemoryStream;
const
  Captcha: string = 'Captcha.jpg';
begin
  TS:= TMemoryStream.Create;
  idhtp1.Get('http://www.mts.com.ua/back/modules/golden/captcha.php?', TS);
  TS.SaveToFile(Captcha);
  Image1.Picture.LoadFromFile(Captcha);
  Application.ProcessMessages;
  TS.Free;
end;
uberchel вне форума Ответить с цитированием
Старый 17.09.2009, 03:26   #9
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Да быстрее, но это не избавляет программу от временного зависания
RIO вне форума Ответить с цитированием
Старый 17.09.2009, 08:18   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

У компонента TidHTTP есть событие onbeginwork,onwork,onendwork (в написании могу ошибиться). Обработайте эти события, добавив в них хотя бы Application.ProcessMessages; Из остальных мест его можно убрать, ибо толку там от него мало.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
зависание excel при постоянном обращении к ячейке iamaxl Microsoft Office Excel 1 07.07.2009 18:02
Зависание при показе Диалога nusik Общие вопросы C/C++ 11 02.07.2009 08:20
Зависание при открытии сетевого файла Bes1k Microsoft Office Excel 1 02.03.2009 07:38
Проблема при подключенном интернете Vandecamp Операционные системы общие вопросы 3 06.11.2008 19:10
Зависание при наборе определенных слов mus-chek Microsoft Office Word 12 01.11.2008 08:20