
24.04.2010, 01:03
|
|
Новичок
Регистрация: 26.08.2009
Сообщений: 19
Провел на форуме: 977507
Репутация:
33
|
|
1n0y, нельзя в потоке просто так использовать компоненты с формы.
Создавай компоненты конкретно в самом потоке!
Вот что-то тип такого:
Код:
TMyThread = class(TThread)
private
FCS: RTL_CRITICAL_SECTION;
FH TidHTTP;
FS: TIdIOHandlerStack;
CM: TIdCookieManager;
...
protected
procedure Execute; override;
...
public
constructor Create;
destructor Destroy; override;
....
....
procedure TMyThread.Execute;
var text:string;
begin
{}
FH := TidHTTP.Create;
FS := TIdIOHandlerStack.Create;
CM := TidCookieManager.Create;
{--//--}
FH.IOHandler := FS;
FH.HandleRedirects := true;
FH.CookieManager := CM;
FH.AllowCookies := true;
...
text := FH.Get('');
...
end;
constructor TMyThread.Create;
begin
inherited Create(True);
...
FreeOnTerminate := False;
InitializeCriticalSection(FCS);
Resume;
end;
destructor TMyThread.Destroy;
begin
FreeAndNil(FH);
FreeAndNil(FS);
FreeAndNil(CM);
DeleteCriticalSection(FCS);
end;
Последний раз редактировалось ange007; 24.04.2010 в 01:12..
|
|
|