10.11.2008, 23:43
|
|
Новичок
|
|
Регистрация: 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;
__________________
Маленький мальчик пришёл на систопку
Линукс отстой крикнул он громко
Долго пинали мёртвое тело
Не кто вступился, били за дело
|