一个实际的OLE服务器的开发
发布时间:2021-12-28 13:11:11阅读:45704次来源:HarmonyOS下载网 一个实际的OLE服务器的开发:文章导读: 先行知识:Delphi/COM/OLEAutomation/SQLServer 难度:★★☆☆☆ 在前几篇文章中我们已经讨论过关于VCL和OLE的知识。在这篇文章中我们将完成一个比较有实际意义的OLEAutomation服务器程序,最后我们把他们封装为Delphi中使用的VCL组件。 首先我们来做一个实际的程序,在它没有变为服务器之前,这是个用来管理客户购买记录的程序(它自己与SQLSe 先行知识:Delphi/COM/OLEAutomation/SQLServer 难度:★★☆☆☆ 在前几篇文章中我们已经讨论过关于VCL和OLE的知识。在这篇文章中我们将完成一个比较有实际意义的OLEAutomation服务器程序,最后我们把他们封装为Delphi中使用的VCL组件。 首先我们来做一个实际的程序,在它没有变为服务器之前,这是个用来管理客户购买记录的程序(它自己与SQLServer连接),它可以录入和删除客户的购买记录并直观的显示出来,所有的数据都存放在SQLServer中。我们将它做为OLEAutomation出于这样一种考虑,假设我们是一家大型的供货公司,我们可能有很多系统需要使用这个客户购买记录程序并用它处理SQLServer中相应的数据,但我们不愿意每次都重复的编写同样的处理代码,我们更希望能把这个处理程序独立出来,并向其它程序提供服务。那么在下面的工作中我们完成了这个服务器程序,界面如下:(注意,这仅仅是一个例子,我们不评价其数据库设计的好坏J) 我们不过多的讨论这个程序的代码(因为这和开发一般的程序没有任何不同,你可以按照最后的地址给我来信索取这篇文章的全部代码)。然后我们来把它变为一个服务器。选择FileàNewàOthersàActiveXàAutomationObject。接下来delphi为我们定义了类型库和实现文件,我们要做的只是在类型库中添加相应的我们要用到的服务器属性和事件。我们简单的给出定义这个OLEAutomation功能的接口(来自类型库所产生的ObjectPascal代码): ICustFormOLE=interface(IDispatch) ['{D7AE75F9-F838-4702-A8EB-EAD0EED242DE}'] functionGet_CustName:WideString;safecall; procedureSet_CustName(constValue:WideString);safecall; functionGet_ProductName:WideString;safecall; procedureSet_ProductName(constValue:WideString);safecall; functionGet_ProductNum:Integer;safecall; procedureSet_ProductNum(Value:Integer);safecall; functionGet_Remark:WideString;safecall; procedureSet_Remark(constValue:WideString);safecall; //下面的方法和属性都对应着原程序中相应的方法和属性 procedureAddToData;safecall; procedureDelData;safecall; propertyCustName:WideStringreadGet_CustNamewriteSet_CustName; propertyProductName:WideStringreadGet_ProductNamewriteSet_ProductName; propertyProductNum:IntegerreadGet_ProductNumwriteSet_ProductNum; propertyRemark:WideStringreadGet_RemarkwriteSet_Remark; end; 更多 0
- 华硕怎么win10系统(华硕如何装win10系统)
华硕怎么装win10系统电脑用着用着,突然冒出些奇奇怪怪的毛病,例如运行卡顿、缓慢。这时候啊,重装系统可能就是你的救命稻草!虽然重装意味着你得和电脑上的所有数据暂时说拜拜,但它能让你的电脑焕然一新。想要轻松搞定?一键重装系统工具是你的不二之
- 怎么快速重装win10系统,如何快速重装win10系统
怎么快速重装win10系统用着Win10,是不是偶尔会遇到系统卡顿、崩溃或者慢得像蜗牛爬?别担心,咱们有绝招,那就是重装系统。在线重装和U盘启动盘重装,哪个更简单?当然是在线重装啦,一键搞定,省心省力。只要提前做好数据备份,重要文件一个都不