当前位置:主页>仓库管理软件> 列表

如何实现该功能? 找畅销进销存注册码

仓库管理软件版1楼: 现在我想要实现如下功能:用户登陆主程序后,在进行业务处理(包括普通的和特殊的业务)的过程中,后台有一个进程在不断扫描数据库,检查有没有需要特殊处理的业务,有的话,会给主程序的主窗口有个提示信息。当用户退出系统时,该进程可能终止,也可能还在运行(根据主程序的一个标志来定)。用进程能不能实现上述处理?或者有没有其他的方案?

2楼: 多线程+消息 如商品销售管理软件

3楼: 用独立的程序可否?

4楼: 我多线程不了解,有没有这方面的资料?最好有例子

5楼: type
zgj_gd = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;

implementation

{ Important: Methods and properties of objects in VCL or CLX can only be used
in a method called using Synchronize, for example,

Synchronize(UpdateCaption);

and UpdateCaption could look like,

procedure zgj_gd.UpdateCaption;
begin
Form1.Caption := ''Updated in a thread'';


end; }

{ zgj_gd }

procedure zgj_gd.Execute;
begin
//这里写你的代码
//发送消息
end;

6楼: "后台有一个进程"做成一个独立的程序,TCPClient;
主程序中添加一个TCPServer,通过TCP/IP来传递信息;
子程序检索到有需要处理的业务,就发消息给主程序。

仓库管理软件版7楼: 1、应该使用多线程。
2、不使用多线程的话,可以在程序的主线程内完成,编写主线程的OnIdle事件,这会在主程序得到空闲时进行操作。不过这样做的话,就只能往这个事件当中填充一些能够快速完成并且不耽误主程序消息循环的一些动作,大量的慢速的操作等仍然需要使用多线程来完成。

8楼: 多谢网中戏!不过,多线程能否实现:主程序关闭退出后,子进程还可以在?
欢迎各位再提供方案,大家互相提高!呵呵!

9楼: 主程序关闭退出后,子进程肯定消失了:)

10楼: 1.子进程(紫禁城)必须是单独的程序,或者服务程序,不然无法单独存在!
2.既然是单独存在的,那么就必须考虑到如何与主程序之间的通讯问题,所以我采用TCP/IP来做。(当然还有更多更好的办法,你可以选择你比较有把握的方式来处理)。

11楼: 用一个exe可能实现?看了上述方案,好像用一个exe实现的可能性不大??

12楼: 我觉得 应该分开两个a,b两个 exe 来实现, 通过 消息(可以利用 wm_copydata)进行通讯, 这样,a 关闭了, b 不需要关闭; 如畅销进销存注册码