----------------------------------------------------------------------
以下两个过程都是在窗体FrmMain中的过程。
如果frmmain是自动创建的窗体,那么运行正确,
如果frmmain是动态创建的,例如
var Frmmain:TfrmMain;
Frmmain:=Tfrmmain.create(self);
或者其它方式创建(总之是动态创建的)
那么运行的时候提示访问错误(access violation.....)(已经标出)请问如何解决?
-----------------------------------------------------------------------Function OutFillTables(Info:pointer):integer;Stdcall;
begin
//访问窗体中的控件
EnterCriticalSection(cs);
frmmain.edit1.text:='ssss';//会出现错误
LeaveCriticalSection(cs);
exitThread(4);
//
end;procedure TfrmMain.btstartClick(Sender: TObject);
var
T1:DWORD;
begin
InitializeCriticalSection(cs);
CreateThread(nil,0,@OutFillTables,nil,0,T1);
end;
以下两个过程都是在窗体FrmMain中的过程。
如果frmmain是自动创建的窗体,那么运行正确,
如果frmmain是动态创建的,例如
var Frmmain:TfrmMain;
Frmmain:=Tfrmmain.create(self);
或者其它方式创建(总之是动态创建的)
那么运行的时候提示访问错误(access violation.....)(已经标出)请问如何解决?
-----------------------------------------------------------------------Function OutFillTables(Info:pointer):integer;Stdcall;
begin
//访问窗体中的控件
EnterCriticalSection(cs);
frmmain.edit1.text:='ssss';//会出现错误
LeaveCriticalSection(cs);
exitThread(4);
//
end;procedure TfrmMain.btstartClick(Sender: TObject);
var
T1:DWORD;
begin
InitializeCriticalSection(cs);
CreateThread(nil,0,@OutFillTables,nil,0,T1);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货