【来人啊】Delphi服务与程序的交互问题

jxqn_liu 2012-08-07 09:38:29
最近在学习做服务程序的开发,这是在网上下载的一个示例后改动的!

小弟的需求是,把程序中的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.
...全文
164 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxqn_liu 2012-08-07
  • 打赏
  • 举报
回复
没人吗 人工置顶
jxqn_liu 2012-08-07
  • 打赏
  • 举报
回复
问题已得到楼上兄台的帮助下解决了!
jxqn_liu 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

别顶了, 把你的QQ发上来 , 加你吧
[/Quote]
哥 我QQ 280656835
Hexpate 2012-08-07
  • 打赏
  • 举报
回复
别顶了, 把你的QQ发上来 , 加你吧
jxqn_liu 2012-08-07
  • 打赏
  • 举报
回复
没人吗 人工置顶
jxqn_liu 2012-08-07
  • 打赏
  • 举报
回复
没人吗 人工置顶

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧