CreateThread中怎么把数据写入VCL中,好像有时候报错
CreateThread中怎么把数据写入VCL中,好像有时候报错
[解决办法]
直接操作主窗体vcl,注意同步
给主窗体发消息,主窗体自己处理
自定义事件
[解决办法]
procedure TMyThread.Execute;
begin
inherited;
...
Synchronize(MyUpdate);
...
end;
procedure TMyThread.MyUpdate;
begin
Form1.StringGrid1.Cells[1, 2] := 100
end;
[解决办法]
function TestThr(s:string): Integer; stdcall;begin Form1.StringGrid1.Cells[1,1]:=s; Result:=0;end;procedure TForm1.Button1Click(Sender: TObject);var H:DWord; s:Pchar;begin s:='Hello World'; Createthread(nil, 0, @TestThr, s, 0, H);end;