小弟的需求是,把程序中的TCP服务端程序做成一个服务,在程序中有2个交互界面
frmSysServer:这个是作主要控制服务的界面
frmTCPServer:这个是作TCP通讯服务的界面
现在如果这个服务程序运行的话(这里的运行不是指服务启动,而是程序文件直接运行),使用TCP客户端能可以连接到TCP服务端,如果将这个程序退出后,在服务中启动该服务,使用TCP客户端不能连接到TCP服务端。
服务已经设置好:运行服务与桌面交互
如果需要做到服务启动后,不运行服务程序,使TCP客户端能连接上,应该怎么处理!请各位大神指点指点!
程序的工程文件如下:
program ProSysServer;
uses
SvcMgr,
Forms,
Windows,
SysUtils,
U_WinSysServer in 'U_WinSysServer.pas' {frmSysServer},
U_SvrControl in 'U_SvrControl.pas',
U_SysServer in 'U_SysServer.pas',
U_MsgDialogs in 'U_MsgDialogs.pas' {frmMsgDialogs},
U_TcpServer in 'U_TcpServer.pas' {frmTCPServer},
U_Global in 'U_Global.pas';
{$R *.res}
begin
if not SysServerInstalling then
begin
CreateMutex(nil, True,PChar(SysServerMutexID));
if GetLastError = ERROR_ALREADY_EXISTS then
begin
MessageBox(0, PChar(AlreadyRunning), PChar(SysServerDisplayName), MB_ICONERROR);
Halt;
end;
end;
if SysServeInstalling or SysServerStartService then
begin
SvcMgr.Application.Initialize;
UserSysService := TUserSysService.CreateNew(SvcMgr.Application, 0);
SvcMgr.Application.CreateForm(TfrmSysServer, frmSysServer);
SvcMgr.Application.Run;
end else
begin
Forms.Application.ShowMainForm := False;
Forms.Application.Initialize;
Forms.Application.CreateForm(TfrmSysServer, frmSysServer);
Forms.Application.CreateForm(TfrmTCPServer, frmTCPServer);
frmSysServer.Initialize(False);
Forms.Application.Run;
end;
end.
6 个解决方案
#1
没人吗
人工置顶
#2
没人吗
人工置顶
#3
没人吗
人工置顶
#4
别顶了, 把你的QQ发上来 , 加你吧
#5
哥 我QQ 280656835
#6
问题已得到楼上兄台的帮助下解决了!
#1
没人吗
人工置顶
#2
没人吗
人工置顶
#3
没人吗
人工置顶
#4
别顶了, 把你的QQ发上来 , 加你吧
#5
哥 我QQ 280656835
#6
问题已得到楼上兄台的帮助下解决了!