一个service application的问题

lixinwyh 2003-10-15 04:40:04
我有一个service application的程序,包括一个TServer,一个TDataModule
在TServer->OnStart里面如果创建TDataModule服务启动之后自己就自动退出了,显示因为服务程序没有执行任何操作。只有把TDataModule用Application->CreateForm 自动创建才能正常执行。这是为什么?
对象能在TServer中被创建吗?在哪个事件中创建?
...全文
82 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerhohoo 2003-10-17
  • 打赏
  • 举报
回复
倒~~
以后别傻了.
lixinwyh 2003-10-17
  • 打赏
  • 举报
回复
说起来实在是郁闷,服务的程序默认读取的都是system32的目录下的,而我的文件打开的都是相对路径,所以……:(
一看我的那些输出的文件都安静的待在system32下面
tigerhohoo 2003-10-17
  • 打赏
  • 举报
回复
通过更改程序的权限位是可以实现的,我以前碰到类似的问题.后来使用各种方法和工具软件来更改权限,包括System权限,用户权限,应用程序权限,进程权限等,后来读写的问题解决了,我却找不到到底是哪种操作直接起作用,导致我的服务程序只能在自己的机器上运行,极其郁闷啊.....
帮你顶一下,祝你好运,能找到正确的解决办法.
lixinwyh 2003-10-17
  • 打赏
  • 举报
回复
我找到原因了,因为我的service要读一个文本文件来进行初始化,但是一旦以服务来进行就不能进行文件的读写操作(我用的ansi c++的流的方法),请问有办法解决这个问题吗?
佣工7001 2003-10-16
  • 打赏
  • 举报
回复
你的程序是不是没有建立窗口阿,没有消息循环,程序当然执行以遍就退出了!
tigerhohoo 2003-10-16
  • 打赏
  • 举报
回复
对象在服务里创建是没问题的,不过有些对象因为权限受限制在服务里面不能使用会抛出异常,看看是不是你的TDataModule中使用了这些东西,在TDateModule创建前后加上捕获异常的语句.
lixinwyh 2003-10-16
  • 打赏
  • 举报
回复
不可能,TDataModule放在一般的application中创建一点问题也没有。而且TDataModule自动创建就没问题。而且如果有错误也应该给提示的。
李维给的例子也是让程序自动创建TDataModule的。
tigerhohoo 2003-10-16
  • 打赏
  • 举报
回复
service 创建窗口没问题也可以把窗口现实出来 .只要设置interactive属性为True.
在OnExecute中要进行循环等待.
lixinwyh 2003-10-16
  • 打赏
  • 举报
回复
DataModule里面有一个ServerSocket,是不是和这个有关?我把它挪到service中试试
lixinwyh 2003-10-16
  • 打赏
  • 举报
回复
service中应该是不能创建窗口的,反正我是没见到过带窗口的service application
zihan 2003-10-15
  • 打赏
  • 举报
回复
不明白,可能时你创建的时候出错,才自动退出的.

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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