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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2011, 11:30   #11
dlauser
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 11
По умолчанию

Цитата:
Как вы это определяете?
Задача программы послать н-ное количество запросов на конкретный урл.
Смотрю пока сниффером.

Попробую вынести всю конструкцию из потока, возможно проблема там кроется.
dlauser вне форума Ответить с цитированием
Старый 16.08.2011, 11:44   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ваш цикл походу просто вешается.
прикрутите сначало положенную синхронизацию.
далее, я надеюсь вы два раза кнопку нажать не пытаетесь?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.08.2011, 11:47   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

dlauser,
1) а почему не проверяете наличие знака '=' в строке urls ?

2) после строчки
i2 := Copy(link1, 1, Pos('=', link1));
i2 будет заканчиваться знаком равно.
Это так Вам и нужно?

3) вытаскивайте код из потока.. возможно, что проблема и не в нём (хотя я на 90% уверен, что именно в нём!), но я лично не вижу в данном случае каких-то преимуществ при его использовании! (ну форма, наверное, "не висит"... и всё...)

4) такой код отрабатывает?! ссылки получаются рабочие?
Код:
  for i := 0 to urls.Count - 1 do begin
    link1 := urls.Strings[i];
    i2 := Copy(link1, 1, Pos('=', link1));
    Form2.Memo1.Lines.Add(i2+'page1');

    (*web := Form2.IdHTTP1.Get(i2 + 'page1');

    if Pos('yeaah', web) = 0 then begin
      Form2.Memo1.Lines.Add(i2)
    end 
    *)
  end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.08.2011, 15:35   #14
dlauser
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 11
По умолчанию

Serge_Bliznykov, да, ссылочки получаются вида: "http://domain.com/page?id="
Мне так и нужно.

Цитата:
прикрутите сначало положенную синхронизацию.
Синхронизация на данном этапе не нужна, поток один, ссылки самостоятельно может брать по очереди. Да, обновление на форме, да и не нужно пока.

Пока вытащил все из потока и подключил антифриз. Проверил, работает.
Всем спасибо за помощь.

P.S. Начальник будет доволен
dlauser вне форума Ответить с цитированием
Старый 16.08.2011, 16:14   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
и подключил антифриз.
простите, что подключили?...


Цитата:
Проверил, работает.
Поздравляю!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.08.2011, 16:15   #16
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
простите, что подключили?...
TidAntiFreeze.

Это прибамбас к Indy, который выносит её синхронные вызовы в отдельный поток.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 16.08.2011, 18:22   #17
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

а я думал он для решения этой задачи антифриз выпил...
Я думаю он не спасет, если не в основном потоке идет
Код:
Form2.Memo1.Lines.Add
Хотя, это дело случая, на одном компе все ОК, а на другом зависнет прога
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не выводит числа tronuo Общие вопросы Delphi 1 06.06.2011 17:15
не выводит очередь margaritachka Общие вопросы C/C++ 0 10.05.2010 19:09
Особое условие для цикла Vikelf Помощь студентам 2 29.05.2009 08:01
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10