我在TMyDelphiCom.RemoteDataModuleCreate(Sender: TObject)
中可以用变量纪录,不过不能更新到窗口中去,比如
TMyDelphiCom.RemoteDataModuleCreate(Sender: TObject)
begin
form1.edit1.text := 'l';//此句不能执行过去,程序死在这儿,如果只给变量负值,不更新窗口就可
end;不过奇怪的是我在
procedure TMyDelphiCom.RemoteDataModuleDestroy(Sender: TObject);
begin
form1.edit1.text := '0';//这里确实可以的阿
end;
中可以用变量纪录,不过不能更新到窗口中去,比如
TMyDelphiCom.RemoteDataModuleCreate(Sender: TObject)
begin
form1.edit1.text := 'l';//此句不能执行过去,程序死在这儿,如果只给变量负值,不更新窗口就可
end;不过奇怪的是我在
procedure TMyDelphiCom.RemoteDataModuleDestroy(Sender: TObject);
begin
form1.edit1.text := '0';//这里确实可以的阿
end;
方法:在RemoteDataModuleCreate使用TThread.Synchornize同步。
原因:人工启动服务器端时,主窗口是先于DataModuleCreate创建的,否则DataModuleCreate是先于主窗口创建的。
所以RemoteDataModuleDestroy是正常的。