我是没有验证,但是你验证了吗?
下面是我针对TWebConnetion 的测试结果,
在Win2000 Professional 的 IIS ISAPI上进行的测试
使用了系统自带的httpsrvr.dll
我也像你那样返回了对象的地址
服务器端的方法我做了修改,改为:
function TDBSrv.TestStr: WideString;
var
s: String;
begin
s := IntToStr(GetTickCount);
Sleep(3000);
s := s + ',' + IntToStr(GetTickCount);
Sleep(2000);
s := s + ',' + IntToStr(GetTickCount);
Result := s + ' :$' +IntToHex(Integer(Self), 8);
end;
客户端调用的代码是:
procedure TForm1.Button1Click(Sender: TObject);
begin
WebConnection1.Connected := True;
Caption := WebConnection1.AppServer.TestStr;
WebConnection1.Connected := False;
end;
我先后启动了4个客户端,分别调用此函数,
结果如下(数字是自计算机启动以来的毫秒计数):
客户端1: 27498160,27501164,27503167 :$00AB6938
客户端2: 27498560,27501565,27503568 :$00AB7E68
客户端3: 27499001,27502005,27504008 :$00AB69F8
客户端4: 27499552,27502556,27504559 :$00AB93A0
大家看我的测试结果,支持了我的观点,那就是:
Borland 不会犯这么低级的错误