我是这样写的
客户端代码:
var
SI: SIData;
begin
TRY
SI := CoMSData.CreateRemote('10.1.2.197');//远程服务器IP
SI.AddUser(‘电脑名称’,'本机 IP',‘帐号’); //中间层的过程
if assigned(SI) then
SI := nil;
EXCEPT
END;
end;
客户端和服务器端在同一台机器上正常,如果不在同一台机器上就不行了,应该如何解决呢?
客户端代码:
var
SI: SIData;
begin
TRY
SI := CoMSData.CreateRemote('10.1.2.197');//远程服务器IP
SI.AddUser(‘电脑名称’,'本机 IP',‘帐号’); //中间层的过程
if assigned(SI) then
SI := nil;
EXCEPT
END;
end;
客户端和服务器端在同一台机器上正常,如果不在同一台机器上就不行了,应该如何解决呢?
代码:
initialization
TComponentFactory.Create(ComServer, TTestDM,
Class_TestDM, ciMultiInstance, tmApartment);
end
更改为:initialization
TComponentFactory.Create(ComServer, TTestDM,
Class_TestDM, ciMultiInstance, tmFree);
end
如:
procedure TTServer.RunProgram(const Number: WideString);
var k:integer;
begin
k:=StrToInt(Number);
case k of
1 : ServerFrm.SetNum; // 过程名
2 : ;
3 : ;
end;
end;客户端:procedure TMainFrm.RxSpeedButton10Click(Sender: TObject);
begin
DataModule1.SocketConnection1.AppServer.RunProgram('1');
end;注: 指定字符串‘1’,就是调用服务器中的ServerFrm.SetNum过程。