Показать сообщение отдельно
  #3  
Старый 10.11.2008, 23:43
Аватар для PESTS
PESTS PESTS вне форума
Новичок
 
Регистрация: 04.05.2008
Сообщения: 54
Репутация: 11
По умолчанию

Цитата:
Сообщение от BASSON_XVI
Собственно хотелось бы увидеть пару примеров по работе с IdHTTP (Клиентской) от Indy в отдельном потоке! Прочитал пару статей и глав на эту тему но особо не чего не понял. Мне бы увидеть пример в котором с основной формы передается юрл и в новом потоке с него грузиться страница в переменную в основном потоке.. Вот как то так.. Буду очень рад если поможете!
А вообще как нить можно организовать что бы создав новый модуль потока в нем расписать процедуры а потом обращаться к ним из основного модуля?
Создай отдельную процедуру! И запускай в отдельном потоке,вот посмотри:
Код:
procedure Reg;
var request:TStringList;
    bufer,
    Control
    :string;
    h:hwnd;
begin
  request:=TStringList.Create;
  request.Add('midAuth=1');
  request.Add('user='+User.Login);
  request.Add('pswd='+User.Password);
  try
    bufer:=Form1.HTTP.Post('http://10.150.0.10:8080/bgbilling/webexecuter',request);
  except
    Form1.Label2.Caption:='Нет данных';
    Form1.Label4.Caption:='Нет данных';
    request.Free;
    exit;
  end;
  if pos('<title>Превышен лимит обращений к серверу',bufer)<>0 then
  begin
    Forms.Application.MessageBox(PChar('Авторизуйтесь пожалуйста через Web интерфейс!'+#13+'В следующих версиях это можно будет сделать с приложения.'),'Превышен лимит обращений к серверу!',MB_OK+MB_ICONINFORMATION);
  end;
  request.Free;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  h1:cardinal;
begin
  CreateThread(nil,128,@Reg,nil,0,h1);
end;
__________________
Маленький мальчик пришёл на систопку
Линукс отстой крикнул он громко
Долго пинали мёртвое тело
Не кто вступился, били за дело
Ответить с цитированием