【发布时间】:2011-05-14 11:39:35
【问题描述】:
所以,我的目标是在另一个线程中启动一个函数。我还需要从新线程访问其他 vcl 组件。到目前为止,这是我的代码:
procedure TForm1.StartButtonClick(Sender: TObject);
var
thread1: integer;
id1: longword;
begin
thread1 := beginthread(nil,0,Addr(Tform1.fetchingdata),nil,0,id1);
closehandle(thread1);
end;
procedure TForm1.FetchingData;
var
...
begin
Idhttp1.IOHandler := IdSSLIOHandlerSocketOpenSSL1; //<- error
idhttp1.Request.ContentType := 'application/x-www-form-urlencoded';
我的程序挂起并且出现错误:模块 my.exe 中的异常 EAccessViolation 在 00154E53。模块“my.exe”中地址 00554E53 的访问冲突。读取地址 00000398。
提前致谢。
【问题讨论】:
标签: multithreading delphi