首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

什么是自动服务程序?该怎么处理

2012-02-13 
什么是自动服务程序?请先举个通俗易懂的例子,再列个代码实现的例子,(@v@),谢谢![解决办法]自动服务程序就

什么是自动服务程序?
请先举个通俗易懂的例子,再列个代码实现的例子,(@v@),谢谢!

[解决办法]
自动服务程序就是始终处于后台并完成一定任务的程序!如WINDOWS中的时钟程序,或者一些监控程序!
[解决办法]
下面摘自 MSDN 对自动化服务的解释:

Automation Servers

Automation makes it possible for your application to manipulate objects implemented in another application, or to expose objects so they can be manipulated. An Automation server is an application that exposes programmable objects (called Automation objects) to other applications (called Automation clients). Automation servers are sometimes called Automation components.
自动化让你的程序可以操作其他程序中已实现的对象,或者你公开这些对象以便它们被其他程序操作。自动服务是这样一种程序,它们为其他应用程序公开了可编程的对象(称为自动化对象)。自动化服务有时也叫自动化组件。

Exposing Automation objects enables clients to automate certain procedures by directly accessing the objects and functionality the server makes available. Exposing objects this way is beneficial when applications provide functionality that is useful for other applications. For example, a word processor might expose its spell-checking functionality so that other programs can use it. Exposure of objects thus enables vendors to improve their applications' functionality by using the ready-made functionality of other applications. 
公开的自动化对象接口使客户程序可以通过直接访问这些对象,并提供一些可能的功能。当应用程序提供的功能对其他程序来说非常有用时,公开此对象的这种方法就非常有利。例如,一个字处理器可以公开它的拼写检查功能,这样其他程序就可以使用它。公开对象使应用程序提供商可以通过使用其他程序现成的功能来完善他们的程序。

....

完整的内容参见链接:http://msdn.microsoft.com/zh-cn/library/6wx53dax.aspx

现实中我们就经常有使用自动化服务。例如,有些报表格式在 vfp 中不容易实现,我们会通过 Excel 的 COM 接口启动一个 Excel 实例,然后在其中填入数据,最后再调用 Excel 的打印预览界面给用户。这里,Excel 就是自动化服务的服务端,我们的程序就是自动化的客户端。


[解决办法]
一般指做成单线程或多线程的COM程序(DLL),请参考:

http://topic.csdn.net/u/20100417/13/16f093ec-f9d6-430c-9430-e5d317b55616.html
[解决办法]
实例:
1.建立一个父类为CUSTOM的类,名称为OLE1,保存于C:CHAP2.VCX
2.设定OLE公用属性为OLE公有!
3.建立新的属性与方法程序RETURNMESS
在方法中写下:
RETURN '姓名' +THIS.YOURNAME+'公司行号'+THIS.YOURCOMPANY
4.编译成多重执行的COM服务程序DLL,
5这个类就成了自动服务组件了,你可以在VFP其他表单中调用,也可以在网页代码中调用!
6:如在VFP中调用
,在LOAD中写
THISFORM.OLE1=CREATEOBJECT('CHAP2.OLE1')

再在按钮中写THISFORM.OLE1.YOUNAME=THISFORM.TEXT1.VALUE
THISFORM.OLE1.YOURCOMPANY=THISFROM.TEXT2.VALUE
THISFORM.TEXT3.VALUE=THISFORM.OLE1.RETRURNMESS()

热点排行