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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2015, 16:18   #21
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
отвалился интернет, сайт, сервер ... проверка покажет
Ну оберни получение контента в Try Except и показывай МесседжБокс если произойдет исключение. Какие проблемы?
Цитата:
Сам говорил где-то в сообщениях на эту тему
Ты наверное меня не так понял )
Цитата:
Да так, но после сравнения как сказать пользователю о недоступности сайта, если вызывать
Зачем MessageDlg вызывать?? Останавливай поток (делай из него exit) если произошло исключение и все.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2015, 16:24   #22
bilibian
Форумчанин
 
Регистрация: 21.01.2014
Сообщений: 389
По умолчанию

Цитата:
Сообщение от lord24 Посмотреть сообщение
Да так, но после сравнения как сказать пользователю о недоступности сайта
Как вариант:

Создать на форме компонент мемо. (он будет служить в качестве лога программы)

При запуске потока передать этот компонент в поток, вот так:

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  MyThread := TMyThread.Create(True);
  MyThread.FreeOnTerminate :=true;
  MyThread.memo:=memo1.lines;
  MyThread.Priority:=tpLower;
  MyThread.Resume;
End;
Предварительно создав в потоке переменную memo с типом TStrings, вот так:

Код:
type
  TMyThread = class(TThread)
     memo : TStrings;
     IdHTTP1: TIdHTTP;
  private
    { Private declarations }
  protected
    procedure Execute; override;
  end;
После сравнения, чтобы отправить сообщение из потока в мемо, которое расположено на форме, надо сделать так:

Код:
memo.add('Ваше сообщение');
bilibian вне форума Ответить с цитированием
Старый 12.11.2015, 17:14   #23
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Как вариант
Плохой вариант. А без синхронизации так вообще ни куда не годный
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.11.2015, 18:53   #24
bilibian
Форумчанин
 
Регистрация: 21.01.2014
Сообщений: 389
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Плохой вариант. А без синхронизации так вообще ни куда не годный
Когда поток всего один, то еще как годный!
bilibian вне форума Ответить с цитированием
Старый 12.11.2015, 19:00   #25
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
MyThread := TMyThread.Create(True);
а вот тут разве не второй?
come-on вне форума Ответить с цитированием
Старый 12.11.2015, 19:12   #26
bilibian
Форумчанин
 
Регистрация: 21.01.2014
Сообщений: 389
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
а вот тут разве не второй?
В смысле, второй дополнительный

А для надежности надо сделать синхронизацию, согласен!
bilibian вне форума Ответить с цитированием
Старый 19.11.2015, 12:38   #27
lord24
Форумчанин
 
Регистрация: 04.01.2013
Сообщений: 107
По умолчанию

Спасибо всем, вроде бы разобрался чуть.
А как притормозить цикл в потоке, что бы он повторялся с определенным интервалом?
lord24 вне форума Ответить с цитированием
Старый 19.11.2015, 12:49   #28
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

sleep() в него пихнуть. Там и интервал указывается.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.11.2015, 13:26   #29
lord24
Форумчанин
 
Регистрация: 04.01.2013
Сообщений: 107
По умолчанию

Да, но наверно этот слип и притормаживает работу всей программы, иначе как объяснить притормаживания с одинаковым интервалом?
lord24 вне форума Ответить с цитированием
Старый 19.11.2015, 13:42   #30
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Смотря куда ты его пихнул )
Код в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с RTSP потоком (нужно сделать снимок из потока) power11 Мультимедиа в Delphi 1 30.04.2015 20:01
Проблема с потоком! vovken1997 Общие вопросы Delphi 2 12.04.2012 21:21
Проблема с потоком ZekaUa Общие вопросы Delphi 4 01.02.2012 15:29
Проблемы с потоком spydark91 Общие вопросы Delphi 38 23.06.2011 16:23
Проблема с потоком Araver Общие вопросы Delphi 4 16.10.2007 04:30