Q:我在AP端的RemoteDataModule的Create時下了Form1.ClientConnect(1); 这一行,在Destroy时下了Form1.ClientConnect(-1);
在FORM1上放了一个LABEL用来做显示在线人数的一个Procedure
procedure TForm1.ClientConnect(sCOUNT: Integer);
begin
FCOUNT:=FCOUNT+sCOUNT;
Label1.Caption:=IntToStr(FCOUNT); //在客户端,有时只要一connected,就会当在那里不动,
//但是只要把这一行注释起来,就沒问题了,不知是什么原因?
end;
A:>> Label1.Caption:=IntToStr(FCOUNT);
问题就出在这一行上....
是因为VCL的UI展现部分,并没有做到Thread Safe 的关系
最简单的方式就是省略掉这一行...由 Form的事件去处理(例如放一个Timer去更新)