hur.cn - 华软网

 热门搜索

如何实现随系统启动的同时自动运行程序并连接数据库?

  作者:未知    来源:网络    更新时间:2018/5/16
请教一个问题:

    近来用PB8开发SQL Server 7.0的程序。其中要求程序运行在客户端,而且有一段程序能自动随系统开机而自动运行,并连接数据库。当时间满足一定的条件时,自动运行对数据库的一些操作程序。关键点就是:
   1、随操作系统启动而启动;
   2、判断是否满足时间条件。
现在第2点基本上可以实现了,但是第1点,虽系统启动而启动遇到了问题。

我是这样做的:
    程序编成可以自动缩到右下角的任务栏中,将编译好的exe文件放到“启动”文件夹下,可是每次启动系统发现好像连接数据库有问题-连接不上!我用的是读取ini文件的数据库配置文件的形式连的。怀疑是不是本地计算机有连接数据库的服务之类的程序没有运行,而我的程序先去联数据库了。因为,要是系统启动后,过一段时间再连接的话就没有问题了!本来想先做个延时的程序段加到前面,可觉得不是很合适,还要处理别的事,所以不可行。现在彻底没辙了!

    不知道,这个问题如何解决!无论如何,请大家帮帮忙。谢谢先!!
------华软网友回答------
在程序中延世100秒,用WINAPI:sleep  看看行不行。后面加一句yield。
不行就先打开个窗口,设个定时,等100秒后再打开你的主窗口,连接数据库。

------华软网友回复------

你采用的方式没什么问题, 放在启动目录中的程序, 一般都是在操作系统最后阶段才运行,

因此建议你在程序中多设置一些Messagebox来跟踪错误.

还有, 会不会是因为你 "编成可以自动缩到右下角的任务栏中" 的功能造成的影响, 因为

该功能需要调用Win Api函数, 而任务栏也是在操作系统启动后比较稍后阶段才显示.
------华软网友回复------
同意先做个延时,延时的时间应该大于系统启动后SQL Server 启动需要的时间
或者在程序运行刚开始的时候做一个判断,如果SQL Server 已经启动那么连接数据库,如果没启动完,那么等待直到SQL Server 启动再连接数据库运行程序
------华软网友回复------
自动运行?也没太必要吧?双击一下鼠标这点时间还是有的吧?

如果真要自动运行,就延时个几分钟就可以了
------华软网友回复------
怎么没辙呢? 先不要连数据库,在窗口的OPEN事件写timer(600) //10分钟后才连
把连接代码写到timer事件中,然后加上timer(0)终止计时

如果要用上多个timer,可以用timing对象,也很简单,看一下帮助文件就会了不起
------华软网友回复------
谢谢,大家!看来也就是延时能解决这个问题了!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。