Delphi技术开发MTS-COM+应用系统

合集下载

Delphi封装MSComm供C#调用

Delphi封装MSComm供C#调用

Delphi设计串口通信组件1、创建一个ActiveX Library这样就建立一个COM 组件,保存工程名称为MyCommTest.然后新建一个ActiveX Form,命名为frmMyActivex点击OK后,delphi会自动生成MyCommTest_TLB.pas及窗体frmMyActivexlmpl1.在frmMyActivexlmpl1界面拖放一个MSComm控件和一个Timer控件,Time的Enable设置为False,interval设置为300ms.(可适当将界面调整小点)。

然后点击”View” -> “Type Library”,打开类型库界面.我们点击lfrmMyActivex接口新建一个属性,比如卡号CardNo.\设置卡号的名字,类型为BSTR (BSTR为Delphi兼容COM接口的字符串类型),点击”刷新”图标,自动将该属性加入到接口模块中.我们可以看到在MyCommTest_LIB.pas的IfrmMyActivex = interface(IDispatch)接口中增加了一格CardNo属性.在unit frmMyActivexImpl1中增加了两个属性操作函数现在我们回到unit frmMyActivexImpl1;我们需要实现对属性的操作,保存属性数据,就需要在该单元中新建一个私有的_CardNo变量。

然后需要手动实现两个属性操作函数的内容,在属性函数中填入以下代码。

为了实现对串口的操作,我们还需要自定义几个函数用于打开,关闭串口及发送串口通信指令。

点击”View” -> “Type Library”,进入类型库界面右键点击IfrmMyActivex,选择”new”-Method输入函数名称InitComm然后选择Parameters选项卡,生成一个输入参数CommPort 串口号,类型为Short点击刷新按钮,刷新接口模块,,我们在MyCommTest_TLB.pas界面看到,已经自动生成函数。

delphi教程

delphi教程

delphi教程
Delphi 是一种基于 Pascal 的编程语言,用于创建窗体应用程序和控制台应用程序。

以下是一些Delphi的教程和指南,可以帮助您入门以及深入了解Delphi的各种功能和特性。

1. Delphi 简介和基础知识
- Delphi 是什么?它的历史和背景
- 安装和设置 Delphi 开发环境
- Delphi IDE 的界面和基本功能介绍
- Delphi 的 Pascal 语法和常用关键字
2. Delphi 窗体应用程序开发
- 创建一个简单的窗体应用程序
- 窗体的属性和事件
- 使用组件和控件设计用户界面
- 处理用户输入和事件响应
3. Delphi 数据库应用程序开发
- 连接和操作数据库
- 使用 SQL 查询和更新数据库
- 数据库表格和字段的创建和管理
- 数据集和数据绑定
4. Delphi 高级特性和技巧
- 使用面向对象编程技术
- 使用线程和并发处理
- 图形和图像处理
- 异常处理和调试技巧
5. Delphi 与其他技术的集成
- 使用外部 DLL 和动态链接库
- 与 Web 服务进行通信
- 与其他编程语言进行互操作
- 创建和使用自定义组件和控件
以上是一些Delphi教程的主要内容,在学习过程中,您可以通过搜索更多的资料来深入了解每个主题。

准备好了解Delphi 的强大功能和灵活性吗?开始学习吧!。

使用Delphi进行Windows应用程序开发教程

使用Delphi进行Windows应用程序开发教程

使用Delphi进行Windows应用程序开发教程第一章: Delphi简介Delphi是一种集成开发环境(IDE),用于编写Windows上的应用程序。

它基于Pascal语言,并提供了丰富的库和组件,使开发人员能够快速构建功能强大的应用程序。

在本教程中,我们将介绍Delphi的基本概念和工具,以帮助您入门。

第二章:环境设置在开始编写Delphi应用程序之前,我们需要设置开发环境。

首先,下载并安装Delphi IDE。

然后,我们将通过设置项目选项来配置编译器和调试器,以确保我们的应用程序能够顺利运行。

第三章:界面设计一个成功的应用程序离不开良好的用户界面设计。

Delphi提供了丰富的可视化设计工具,如窗体设计器和组件面板,帮助开发人员创建吸引人且易于使用的界面。

在本章中,我们将学习如何添加控件、设置属性以及处理事件。

第四章:数据操作应用程序通常需要与数据库进行交互,以存储和检索数据。

Delphi通过提供数据库连接组件和数据集组件,使得数据操作变得轻松。

我们将学习如何连接和配置数据库,以及如何使用数据集组件执行查询和更新操作。

第五章:文件操作文件操作是应用程序中常见的任务之一。

Delphi提供了用于文件操作的各种函数和组件,如文件读写和文件夹操作等。

我们将演示如何使用这些功能来读取、写入和管理文件。

第六章:多媒体处理现代应用程序通常涉及到音频、视频和图像处理。

Delphi提供了用于多媒体处理的组件和库,如音频播放器、视频解码器和图像处理功能。

我们将学习如何使用这些组件来实现音频、视频和图像的播放、录制和编辑。

第七章:网络通讯在互联网时代,网络通讯在应用程序中变得越来越重要。

Delphi提供了强大的网络编程库,如Socket和HTTP组件,使开发人员能够轻松地与服务器进行通讯。

我们将介绍如何使用这些组件来实现网络通讯功能。

第八章:调试和测试调试和测试是开发过程中必不可少的步骤。

Delphi提供了强大的调试工具,如断点和单步调试器,以帮助开发人员快速定位和解决问题。

第四讲 使用Delphi开发C/S应用软件

第四讲 使用Delphi开发C/S应用软件

第四讲使用Delphi开发C/S应用软件
徐长波;惠恩刚
【期刊名称】《中国计算机用户》
【年(卷),期】1996(000)023
【摘要】Borland公司发行的Delphi,除单机版外,还有Client/Serv-er版,专门用来开发客户机/服务器软件。

一、客户机/服务器体系结构简介客户机/服务器(C/S)体系结构是相对于集中处理方式和分布处理方式而提出来的,是一种把应用处理负载分布到客户机和服务器上的处理模式。

虽然客户机和服务器也可以同存于一台计算机上,但绝大多数客户机/服务器系统的客户机和服务器在物理上是分开的,通过网络连接来交换信息。

这种模式保证了每台客户机既可以独立运行。

【总页数】3页(P48-50)
【作者】徐长波;惠恩刚
【作者单位】中国人民银行白山市分行;中国人民银行白山市分行
【正文语种】中文
【中图分类】TP311.52
【相关文献】
1.浅析使用Delphi开发计算机房综合管理系统 [J], 王启才
2.基于Delphi开发智能住宅家用电脑应用软件 [J], 朱学莉;齐维贵;喻言;邵仙鹤
3.用Delphi开发Client\Server结构的数据库应用软件 [J], 冯睿江
4.浅析使用Delphi开发计算机房综合管理系统 [J], 王启才
5.Delphi使用技巧——第四讲使用Delphi开发C/S应用软件 [J], 徐长波;惠恩刚
因版权原因,仅展示原文概要,查看原文内容请购买。

DelphiMTSCOM+从理论到实践2

DelphiMTSCOM+从理论到实践2

DelphiMTSCOM+从理论到实践2
Grhunter;大鱼儿
【期刊名称】《软件》
【年(卷),期】2001(000)009
【摘要】据称微软在Windows XP中不主动支持Java啦。

Sun公司的支持者恐怕又要大骂微软搞垄断了。

但回过头来想想,Sun坚持保有Java的标准拥有权,也难逃企图垄断的嫌疑。

笔者不想对Java语言本身进行评论,存在即合理嘛。

客观地看,.net描绘的前景,好像要比Java更美妙。

Delphi 6全面支持Web Service——众位Java开发者,转向Delphi吧。

这一期将继续连载关于MTS/COM+组件技术的文章。

此外,还有一篇实用的Tips,教你如何在TRichEdit组件中实现自动识别URL。

【总页数】5页(P68-72)
【作者】Grhunter;大鱼儿
【作者单位】不详;不详
【正文语种】中文
【中图分类】TP312
【相关文献】
1.学术回顾与反思:马克思主义哲学研究30年(1978~2008)之一从真理标准讨论到哲学教科书体系改革 [J], 杨学功
2.真理:从符合论到讲道理 [J], 郭洪体
3.与时俱进的高考议论文:从考场发论到公民说理 [J], 刘婕;付鹏图
4.从真理符合论到真理实践论:马克思主义真理观的革命性变革 [J], 吴娜
5.与时俱进的高考议论文:从考场发论到公民说理 [J], 刘婕;付鹏图
因版权原因,仅展示原文概要,查看原文内容请购买。

delphi技术的名词解释

delphi技术的名词解释

delphi技术的名词解释Delphi技术是指一种建立在面向对象原则上的软件开发工具,它是由Borland 公司(现在是Embarcadero Technologies)于1995年发布的一种集成开发环境(IDE),该IDE用来开发以Pascal语言为基础的应用程序。

Delphi技术的核心思想是将编程过程分为设计阶段和编码阶段,通过可视化的界面设计和直观的编程语言,使程序开发变得简单和高效。

一、Delphi的起源Delphi技术起源于Borland Turbo Pascal,这是一种在1983年发布的个人计算机上常用的编程语言。

Turbo Pascal非常受欢迎,因为它能在较低的硬件要求下编写快速的应用程序。

Turbo Pascal的成功激发了Borland公司将其进一步发展为Delphi。

二、面向对象编程Delphi技术的核心概念是面向对象编程(OO),它基于现实世界的模型和概念,将程序的数据结构和操作封装在对象中。

对象是类的实例,类是定义对象的模板。

通过面向对象编程,程序员可以更直观地思考和设计复杂的应用程序。

三、可视化界面设计Delphi的主要特点之一是其可视化界面设计工具。

使用Delphi的IDE,开发人员可以通过拖拽和组件化的方式设计用户界面。

这些组件包括按钮、文本框、列表框等等,它们可以通过简单的鼠标操作进行布局和调整。

这种可视化设计方式大大提高了开发效率,并且使得用户界面开发变得轻松愉快。

四、快速编码和调试Delphi技术以其高效和智能的编码工具而闻名。

Delphi的代码编辑器具有语法高亮显示、自动完成和智能代码提示等功能,可以大大减少开发人员的编码时间。

此外,Delphi还提供了强大的调试工具,可以帮助开发人员快速定位和解决程序中的bug,提高程序的质量和稳定性。

五、跨平台开发随着移动设备和云计算的快速发展,跨平台开发变得越来越重要。

Delphi技术考虑到了这一需求,并且在最新的版本中引入了FireMonkey框架。

基于Delphi的企业应用信息系统简易开发平台的设计与实现

基于Delphi的企业应用信息系统简易开发平台的设计与实现

基于Delphi的企业应用信息系统简易开发平台的设计与实现杨勤文【期刊名称】《计算机应用与软件》【年(卷),期】2013(030)002【摘要】主要阐述自主开发的delphi简易开发平台的基本功能和设计思路以及实现方法.阐明企业中小型管理信息系统所必需的数据模块、主控模块、权限管理模块及一些常用功能模块的设计理念和实现方法.为中小型软件开发单位提供一条快速开发信息系统的途径.%The paper mainly elaborates the basic functions of Delphi simple development platform, the design ideas and its implementation approach, which is independently developed by the author. What are clarified in the paper include the data module, master control module and privilege management module, which are required by the small and medium-sized enterprise information management system, and the design concept of some commonly used function modules and the realisation means. The study provides a pathway to small and medium-sized software development companies for rapid development of information system.【总页数】6页(P328-333)【作者】杨勤文【作者单位】白银有色集团股份有限公司信息管理(研究)中心甘肃白银730900【正文语种】中文【中图分类】TP319【相关文献】1.基于XML信息系统开发平台的设计与实现 [J], 王学成;张长海2.Delphi在企业应用信息系统简易开发平台的设计与应用 [J], 楼营3.基于Delphi的高校人事管理信息系统设计与实现 [J], 怀保民; 李小松; 郭延光4.基于Delphi+Web Service的资产管理信息系统设计与实现 [J], 袁宏杰;秦家瑞;臧永娜;李海涛;韩瀚5.基于Delphi+Web Service的资产管理信息系统设计与实现 [J], 袁宏杰;秦家瑞;臧永娜;李海涛;韩瀚因版权原因,仅展示原文概要,查看原文内容请购买。

Delphi编写COM+简介(转)

Delphi编写COM+简介(转)

软件重用是业界追求的目标,人们一直希望能够像搭积木一样随意―装配‖应用程序,组件对象就充当了积木的角色。

所谓组件对象,实际上就是预定义好的、能完成一定功能的服务或接口。

问题是,这些组件对象如何与应用程序、如何与其他组件对象共存并相互通信和交互?这就需要制定?个规范,让这些组件对象按统一的标准方式工作。

COM是个二进制规范,它与源代码无关。

这样,即使COM对象由不同的编程语言创建,运行在不同的进程空间和不同的操作系统平台,这些对象也能相互通信。

COM既是规范,也是实现,它以COM库(OLE32.dll和贴OLEAut32.dll)的形式提供了访问COM对象核心功能的标准接口以及一组API函数,这些API 函数用于创建和管理COM对象。

COM本质上仍然是客户服务器模式。

客户(通常是应用程序)请求创建COM对象并通过COM对象的接口操纵COM对象。

服务器根据客户的请求创建并管理COM对象。

客户和服务器这两种角色并不是绝对的。

组件对象与一般意义上的对象既相似也有区别。

一般意义上的对象是一种把数据和操纵数据的方法封装在一起的数据类型的实例,而组件对象则使用接口(Interface)而不是方法来描述自己并提供服务。

所谓接口,其精确定义是―基于对象的一组语义上相关的功能‖,实际上是一个纯虚类,真正实现接口的是接口对象)(Interface Object)。

一个COM对象可以只有一个接口,例如Wndows 95/98外壳扩展;也可以有许多接口,例如ActiveX控件一般就有多个接口,客户可以从很多方面来操纵ActiveX控件。

接口是客户与服务器通信的唯一途径。

如果一个组件对象有多个接口,则通过一个接口不能直接访问其他接口。

但是,COM允许客户调用COM库中的QueryInterface()去查询组件对象所支持的其他接口。

从这个意义上讲,组件对象有点像接口对象的经纪人。

在调用QueryInterface()后,如果组件对象正好支持要查询的接口,则QueryInterface()将返回该接口的指针。

Delphi在企业应用信息系统简易开发平台的设计与应用

Delphi在企业应用信息系统简易开发平台的设计与应用

块、 权 限分配 和维护模 块 、 功能维 护模块 、 菜单维护 模块 、 登 录管理模 块和基础信息管理模块 : 模板单元部分平台使用者可
以通过简单的拷贝方式获取整个 f o r m 窗体 的前台界面和后台代 码, 并在此基础 上进行少量修改得 到可以使用 的f r o m 窗体 。 自
关键词 : D e l p h i ; 企 业应 用信息系统; 简易开发平 台; 设计与应 用
1 概 述
权 限分配模 块。 用户在输入 帐号和密码后 , 系统根据 操作员表
如果不正确, 则返回界面让操作者 D e l p h i 由B o r l a n d 公 司推 出的D e l p h i 是全 新的可视化 编 核对帐 号和密码 是否正确。 重新录入, 若录入三次还是不正确, 系统就 自动退 出, 以保证系 程环境, 是一 种方便 、 快 捷 的W i n d o w s 应用 程序 开发 工具 。 帐号和密码 都正确, 则在用户登录记录表中登记后, 设 D e l p h i拥 有一个可视化 的集成开发环 境( I D E ) , 采用面向对象 统安全。 置一些和用户有关的全 局变 量, 并创建和打开主窗口。 的编程语O b j e c t P a s c a t 和基于部 件的开发 结构框 架。 D e l p h i 提 供了5 0 0 多个 可供 使用 的构件 , 利用这 些部 件, 我们 可 以快 ( 2 ) 菜单维护模块 。 在应用主 窗体创建事件 中, 首先系统根 e l p h i功能管理组件 T A c t i o n L i s t的功能 速 地构造 出应用 系统 。 为嘛 也可 以根据 自己的需要修改部件或 据功能表 自动生成D 然后依据 T A c t i o n — L i s t 的功能列表和后台数 据库 功能 用D e l p h i 本身编 写自己的部件 。 它 的数 据处 理工具 B D E 是一 列表, 表 白动生成主窗口的 T M a i n — M e n u 菜单项和 T r e e V i e w 控件 个标 准的中介软件层 , 可以用来处理 当前流 行的数据格 式, 如 x B a s e 、 P a r a d o x 等, 也可 以通 过B D E 的S O L L i n k 直接 与S y b a s e 、 S Q L S e r v e r 、 I n f o r m i x 、 O r a c l e 等大型数据库连接。 子项, 并根据登录帐号在权 限登录 表的权限确定菜单项是否可 以操作 , 同时 自动 生成工具条按钮 , 按用户所拥 有的权 限设置 按钮的 E n a b l e d属性决定其是否可用。 ( 3 ) 组织维 护模块 。 提供 一个通 用的企业组 织结 构管理模

delphi教程

delphi教程

Delphi教程什么是Delphi?Delphi是一种编程语言和集成开发环境(IDE),用于开发跨平台的Windows应用程序。

它是由Embarcadero Technologies公司开发的,首次发布于1995年。

Delphi基于Object Pascal语言,具有强大的开发工具和丰富的类库,使开发人员能够快速构建可靠和强大的应用程序。

Delphi的特点Delphi具有许多令人称赞的特点,这些特点使其成为许多开发人员首选的开发工具。

1. 面向对象编程(OOP)Delphi是一个面向对象的编程语言,支持封装、继承和多态等OOP概念。

面向对象编程使得代码更具可重用性和可维护性,开发人员可以更加高效地编写和组织代码。

2. 可视化开发Delphi使用可视化开发工具,如窗体设计器和组件库,使开发人员能够通过拖放和设置属性的方式创建用户界面。

这种可视化开发方式对于快速原型设计和用户界面调整非常有帮助。

3. 强大的集成开发环境(IDE)Delphi提供了一套强大的集成开发环境,其中包括代码编辑器、调试器、编译器、版本控制和用户界面设计工具等。

这些工具使开发人员能够在一个集成的环境中完成所有开发任务,提高了开发效率。

4. 多平台支持Delphi支持跨平台开发,可以在Windows操作系统上开发应用程序,也可以将应用程序移植到其他平台,如iOS和Android。

这种多平台支持使得开发人员可以更好地达到更广泛的用户群体。

Delphi的应用领域Delphi适用于各种类型的应用程序开发,从桌面应用程序到互联网应用程序,都可以使用Delphi进行开发。

1. 桌面应用程序Delphi可以用于开发各种类型的桌面应用程序,如图形用户界面(GUI)应用程序、数据库应用程序、科学计算应用程序等。

它提供了丰富的组件库和可视化开发工具,使开发人员能够轻松构建功能强大的桌面应用程序。

2. 互联网应用程序Delphi也可以用于开发互联网、Web和移动应用程序。

delphi 7信息系统设计与开发实例 -回复

delphi 7信息系统设计与开发实例 -回复

delphi 7信息系统设计与开发实例-回复如何在Delphi 7中设计和开发一个信息系统。

Delphi 7是一种功能强大的集成开发环境(IDE),广泛应用于软件开发领域。

它的易用性和灵活性使得它成为设计和开发信息系统的理想选择。

在本文中,我们将一步一步地介绍如何利用Delphi 7设计和开发一个信息系统。

第一步是确定系统需求。

在开始设计和开发信息系统之前,我们必须明确系统的目标和功能。

在这个例子中,我们将设计一个学生管理系统,包括学生基本信息的录入、查询和修改,以及学生课程的选课和成绩管理。

这些功能将成为我们设计和开发的主要模块。

第二步是创建项目。

打开Delphi 7并选择“新建项目”。

选择“VCL Forms应用程序”作为项目类型,并为项目命名。

这将创建一个新的窗体,用于在上面放置控件和设计软件界面。

第三步是设计用户界面。

在Delphi 7中,我们可以通过在窗体上拖放控件来设计用户界面。

根据系统需求,我们可以在窗体上放置文本框、按钮、标签和列表框等控件。

通过设置这些控件的属性和事件,我们可以使它们与数据库和其他模块进行交互。

第四步是设计数据库。

作为信息系统的核心,数据库的设计非常重要。

在Delphi 7中,我们可以使用数据库工具包(BDE)来创建和管理数据库。

通过打开BDE管理员,我们可以创建数据库表、定义字段和设置数据类型。

在这个学生管理系统中,我们可以创建一个学生表和一个课程表,它们之间可以通过学生ID进行关联。

第五步是编写代码。

在Delphi 7中,我们可以使用Object Pascal 语言编写代码。

我们可以通过在事件处理器中编写代码来实现系统功能。

在学生管理系统中,我们可以编写代码来处理学生信息的录入、查询和修改,以及课程的选课和成绩管理。

我们还可以编写代码来处理数据库操作,如插入、更新和删除数据。

第六步是进行测试和调试。

在开发过程中,测试和调试是非常重要的步骤。

通过运行程序并输入不同的测试数据,我们可以检查系统是否按预期运行。

23.2.1 使用TMSComm组件_Delphi开发典型模块大全(修订版)_[共2页]

23.2.1 使用TMSComm组件_Delphi开发典型模块大全(修订版)_[共2页]

Delphi 开发典型模块大全 578 23.2 主要实现技术23.2.1 使用TMSComm 组件MSComm 组件是微软公司为Visual Basic 提供的一个串口控件,它通过串行端口传送和接收数据,为应用程序提供基本的串行通信功能。

在程控电话计费系统中,在主窗体的OnCreate 事件处理过程中初始化TMSComm 组件,设置代码及说明如下:procedure TMainForm.FormCreate(Sender: TObject);begin//初始化程序所需参数及变量StartPublicParameter;Application.OnHint:=appHint;//-----------------------------------------------------mPort:=1; //使用Com1口msComm1.Settings:= '9600,n,8,1'; //设置通信参数msComm1.RThreshold:=1; //每收到一个字符就调用一次处理函数 msComm1.InputLen:=1; //每次从输入缓冲区中接收一个字符 msComm1.Handshaking:=2; //由信号线RTS/CTS 自动进行流量控制 trymsComm1.PortOpen:=true; //打开串口exceptshowMessage('COM1错误!');Application.Terminate; //终止程序end;end;通过TMSComm 组件的OnComm 事件处理接收的电话交换机返回信息并进行分析。

完整代码及说明如下:procedure TMainForm.MSComm1Comm(Sender: TObject);varc:string; //接收电话交换机返回来的信息s:string; //临时存放通话记录信息beginTime:string; //开始时间lastTime:string; //通话时长intLast:integer;callNo:string; //被叫号码extensionNo:string; //分机号phoneType:string; //电话类型tmp:string;maxLen:integer;fl: double; //费率/秒pay:double; //话费begincase mEvent ofcomEvReceive: begin //只处理返回信息的事件消息maxLen:=0;//返回通话记录信息并检测是否完整,完整后记录花费,不完整继续组合 c:=msComm1.Input;recv:=recv+c;if (pos(#10,c)<>0)or(pos(#13,c)<>0) thenbeginlist.Add(recv); //添加完整的通话信息到list 中 if isBusy=false then //当前没有进行存储beginisBusy:=true; //开始存储通话记录while list.Count>0 do //已经接收的通话记录数量。

Delphi下的COM编程技术简介

Delphi下的COM编程技术简介

Delphi下的COM编程技术简介组件对象模型(Component Object Model,以下简称COM)是组件对象之间相互接口的规范,凡是遵循COM接口规范的对象彼此之间能相互通信和交互,即使这些对象是由不同的厂商、用不同的语言、在不同的Windows版本甚至不同的机器上编写和建立的。

Delphi支持COM接口规范,Object Pascal语言增加了对象接口的方法。

用Delphi创建的COM对象还可以工作在MTS(Microsoft Transaction Server)环境中。

软件重用是业界追求的目标,人们一直希望能够像搭积木一样随意“装配”应用程序,组件对象就充当了积木的角色。

所谓组件对象,实际上就是预定义好的、能完成一定功能的服务或接口。

问题是,这些组件对象如何与应用程序、如何与其他组件对象共存并相互通信和交互?这就需要制定?个规范,让这些组件对象按统一的标准方式工作。

COM是个二进制规范,它与源代码无关。

这样,即使COM对象由不同的编程语言创建,运行在不同的进程空间和不同的操作系统平台,这些对象也能相互通信。

COM既是规范,也是实现,它以COM库(OLE32.dll和贴OLEAut32.dll)的形式提供了访问COM对象核心功能的标准接口以及一组API函数,这些API函数用于创建和管理COM对象。

COM本质上仍然是客户服务器模式。

客户(通常是应用程序)请求创建COM对象并通过COM对象的接口操纵COM对象。

服务器根据客户的请求创建并管理COM对象。

客户和服务器这两种角色并不是绝对的。

组件对象与一般意义上的对象既相似也有区别。

一般意义上的对象是一种把数据和操纵数据的方法封装在一起的数据类型的实例,而组件对象则使用接口(Interface)而不是方法来描述自己并提供服务。

所谓接口,其精确定义是“基于对象的一组语义上相关的功能”,实际上是一个纯虚类,真正实现接口的是接口对象)(Interface Object)。

在DELPHI的环境下利用MSCOMM控件开发RS232串口通信软件

在DELPHI的环境下利用MSCOMM控件开发RS232串口通信软件
第2 2卷
第 2期






VoI2 N0. .2 2
F b. 2 2 e O1
21 0 2年 2月
J OURN AL OF CHANGC N NI RST HU U VE IY
在 D L H 的 环 境 下 利 用 MS O E P I C MM 控 件 开 发 R 2 2串 口通 信 软 件 S3
收 稿 日期 :0 11-0 2 1 —12
作者简 介 : 王海涛 (9 4 ) 男 , 18 一 , 吉林 榆树人 , 士研 究生 , 硕 主要 从事信息制造 与网络制造方面研究 。 张树仁 ( 90 ) 男 , 15 . , 吉林农安人 , 教授 , 士生导师 , 博 主要从 事 网络制造与信 息制造方面研究 。
( )up t 性 : 于 向发送 缓 冲区写 数据 流 。设 计 时无效 , 行 时 只读 。 7 otu 属 用 运
( ) o m vn 属性 : 8 C m E et 在通信过程中发生事件或者是错误 , 将会引发 O Cm n o m事件并且改变该属性值。 ( ) no 9 O cmm事件 : Cmm vn 属性 值 变化 时 , 产 生该 事件 , 志 了一个 事件 或 者是 错 误 的发 生 。 当 o E et 就 标
必须 在 打) e ig 属 性 : 2 stns t 该属 性 以字符 串的形 式设 置并 返 回 串 口的波特 率 , 奇偶 校 验 , 据位 , 止 位参 数 。 数 停 ( ) T rs o 3 R heh l 性 : MS O d属 在 C MM 控件 设 置 cm v n 属 性 为 emerci o mee t o veev 产 生 O cmm 之前 , 属 e并 No 该 性设 置 并返 回要 接 收 的字符数 。 ( )n ul 4 Ip t n属 性 : e 用于 设置 并返 回 Ip t n u 属性 从 接收缓 冲 区读 取 的字 符数 。

基于Delphi的企业应用信息系统简易开发平台的设计与实现

基于Delphi的企业应用信息系统简易开发平台的设计与实现
Ab s t r a c t Th e p a p e r ma i n l y e l a b o r a t e s t h e b a s i c f u n c t i o n s o f D e l p h i s i mp l e d e v e l o p me n t p l a t f o r m
第3 0卷第 2期
2 0 1 3年 2月
计算机 应 用与软件
Co mp u t e r App l i c a t i o n s a n d S o f t wa r e
Vo 1 . 3 0 No. 2 Fe b.2 01 3
基于 D e l p h i 的 企 业 应 用信 息 系统 简 易 开发 平 台 的设 计 与 实 现
断地细分 , 必须快速开发大量 的中小型企业管理信息系统 , 以适 应各企业对信息及时获取和快速处理的要求 。
系统 的途径。 关键词 中图分类号 开发技术平 台 T P 3 1 9 D e l p h i 权 限管理 代码模板 文献标 识码 A 通用组件
D O I : 1 0 . 3 9 6 9 / j . i s s n . 1 0 0 0 — 3 8 6 x . 2 0 1 3 . 0 2 . 0 8 7

a nd t he
d e s i g n c o n c e p t o f s o me c o mmo n l y u s e d f u n c t i o n mo d u l e s a n d t h e r e a l i s a t i o n me a n s ,T h e s t u d y p r o v i d e s p a t h wa y t o s ma l l a n d me d i u m— s i z e d s o f t w a r e d e v e l o p me n t c o mp a n i e s f o r r a p i d d e v e l o p me n t o f i n f o m a r t i o n s y s t e m. Ke y wo r d s De v e l o p me n t t e c h n o l o g y p l a t f o m D r e l p h i P iv r i l e g e ma n a g e me n t Co d e t e mp l a t e s Ge n e r a l c o mp o n e n t s
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以Delphi技术开发MTS/COM+应用系统如何使用Delphi快速地开发MTS/COM+应用系统是非常重要的问题。

虽然Delphi提供了MTS的向导可以帮助程序员开发MTS/COM+应用系统,但是Delphi的向导只是产生一个MTS/COM+对象。

到底要如何借助Delphi的技术开发整个应用系统而不是单一的MTS/COM+组件便非常重要。

本章讨论的重点便是提供一个适当的MTS/COM+开发架构让程序员能够参考使用。

此外,本章也详细地说明了如何结合Delphi提供的技术,例如MIDAS,和MTS/COM+技术为一体。

让程序员能够充分地发挥Delphi每一分的潜力,快速而且正确地开发MTS/COM+应用系统!本章重点►一个典型的场景►使用TDCOMConncetion建立MTS/COM+对象►维护交易管理的正确性► MTS/COM+应用系统架构的实现►第二种思考方式►结论在上一章中我们说明了如何使用Delphi开发MTS/COM+对象,以及能够让我们轻易地存取数据的MTS/COM+数据模块对象。

由于一般的MTS/COM+应用系统都免不了需要处理数据,许多程序员就容易直接使用MTS/COM+数据模块作为开发的基础,因为程序员可以直接在MTS/COM+数据模块中放入ADO Express组件来存取数据库。

这样做并没有什么不对,但是却可能会发生许多潜在的问题。

本章要讨论的内容是在告诉你如何正确地使用Delphi提供的技术来建立MTS/COM+对象。

什么是Delphi提供的技术呢?当然主要就是MIDAS了,正确地使用MIDAS可以帮助程序员快速地开发多层应用系统、MTS/COM+应用系统以及电子商务系统。

但是如何正确地结合MIDAS和MTS/COM+便是非常重要的事情了。

程序员如果正确地了解MIDAS和MTS/COM+,就能够以数倍的生产力开发MTS/COM+应用系统;反之则可能会让MTS/COM+应用系统发生执行不正常的情形。

也许让我们从一个典型的系统架构来说明如何从Delphi的角度正确地建立MTS/COM+应用系统,让你快速地了解本章所要强调的内容。

9-1、一个典型的场景图9-1是三个范例数据表,它们分别是Publishers、Books和CDTitles。

这三个数据表借助VID这个字段形成Master/Detail的关系。

其中Publishers储存出版商的数据,Books储存出版商出版的书籍,而CDTitles则储存出版商出版的光盘数据。

现在我们的目标就是撰写一个MTS/COM+应用系统以便能够处理这些数据表中的数据。

对于这样的系统场景,程序员应该如何完成它呢?由于这个系统需要处理数据,因此程序员可能会直接使用MTS/COM+数据模块,然后在MTS/COM+数据模块中加入TADOConnection连接数据库,再分别使用TADOQuery/TADOTable和TDataSetProvider组件连接到这三个数据表。

此时MTS数据模块看起来会类似图9-2所示。

在图9-2中使用了三个TADOQuery分别连接到Publishers、Books 和CDTitels,而且每一个TADOQuery又分别连接一个TDataSetProvider组件以便让客户端能够连接使用。

此外,这个MTS/COM+数据模块的事务特性还必须设定为“需要事务”,因为这个MTS数据模块会更新数据回数据表中。

完成了MTS/COM+数据模块之后,程序员可以再使用TDCOMConnection和TClientDataSet组件设计客户端应用程序,并通过这两个组件直接连接到MTS/COM+数据模块中的TDataSetProvider组件以取得数据。

最后的系统架构就如图9-3所示。

我相信许多程序员都会设计这种架构的MTS/COM+应用系统。

这样做虽然没有错,而且可以执行,但是这种架构却有许多的问题。

在你了解这些问题之后,可能就会使用不同的架构来设计这个场景系统。

那么到底这种架构有什么问题呢?其中最大的问题就是执行效率的问题。

这可以从数个不同的角度来看,首先程序员把所有的数据存取组件放在一个MTS/COM+数据模块中,因此当客户端建立这个MTS/COM+数据模块时需要花费许多的激活时间。

第二个问题是如果客户端只需要使用其中的一个数据表的数据,例如Books,那么客户端仍然需要花费多余的时间建立不相关的对象。

另外的问题就是这个MTS/COM+数据模块需要修改数据,因此它的事务特性必须设定为“需要事务”。

但是如果此时客户端只是需要查询数据,例如在电子商务中,许多Internet/Intranet用户大部分的时间是在浏览和查询系统提供的服务和产品,并且一旦客户端建立这个MTS/COM+数据模块查询数据,那么仍然会激活MTS/COM+的事务模式。

此时,MTS/COM+执行环境和数据库就会开始锁定一些系统资源,然而这是不必要的事情。

这样做不但执行效率会受影响,也会降低应用系统可以同时服务的客户端,因为系统锁定了许多不必要的资源。

最后,对于MTS/COM+提供的Pooling机制而言,这样设计系统架构也是不好的,程序员应该尽量利用MTS/COM+提供的数据库连接Pooling的功能。

因此最好是把每一个TADOConnection的连接放在不同的MTS/COM+数据模块中,因为这三个数据表都位于一个相同的数据库中。

详细的原因请参考下一章调整MTS/COM+执行效率的说明。

为了解决上述说明的许多问题,让我们重新设计一下这个架构。

为了充分利用MTS/COM+的数据库连接Pooling功能,并且避免客户端建立不必要的对象,让我们使用三个独立的MTS/COM+数据模块,其中分别放入TADOConnection、TADOQuery和TDataSetProvider以连接到不同的数据表。

如图9-4所示。

接着,再让我们引入协调对象的概念,看看它如何帮助我们开发MTS/COM+应用系统。

让我们建立两个MTS/COM+对象:分别是QueryObject和UpdateObject。

其中QueryObject负责提供方法让客户端能够查询数据,并使用图9-4中的MTS/COM+数据模块查询客户端需要的数据。

由于QueryObject只是查询数据,因此它的事务特性可以只设定为支持事务。

只要客户端没有事务环境,QueryObject也就不会产生一个事务环境,这样就不会锁定不必要的资源了。

而UpdateObject则负责把客户端修改的数据更新回数据表中,它提供了方法,例如UpdateBooks、UpdateCDTitles等。

UpdateObject也会分别使用上图的三个MTS/COM+数据模块来真正地把数据更新回数据表中。

由于UpdateObject负责更新数据,因此它的事务特性必须设定为“需要事务”。

由于QueryObject和UpdateObject已经控制了事务特性必要的数值,因此图9-4中的三个MTS/COM+数据模块的事务特性只需要设定为“支持事务”即可。

现在加入这两个协调对象到范例场景系统中,此时我们可以使用图9-5来代表整个系统的架构。

由于加入了QueryObject和UpdateObject,因此当客户端是浏览器查询电子商务的服务和产品时,系统可以调用QueryObject提供的服务,通过MTS/COM+数据模块查询客户端需要的数据。

此时MTS/COM+执行环境和数据库只会锁定最基本的资源,因为QueryObject 和MTS/COM+数据模块都没有激活MTS/COM+的事务模式,因此应用系统可以服务大量的Internet/Intranet客户端。

但是对于真正购买服务或产品的客户端,或内部MIS信息系统的修改数据,系统则可以通过UpdateObject对象激活MTS/COM+事务模式更新数据回数据库中。

这样的设计虽然比直接使用单一的MTS/COM+数据模块来得麻烦,但是无论在执行效率、系统的延展性以及资源的共享性上都比单一的MTS/COM+数据模块好得多。

不过,我们如果从Delphi的角度来看这种架构,那么程序员可能还是会觉得不便,因为在使用单一的MTS/COM+数据模块架构下,程序员可以在客户端直接使用TDCOMConnection和TClientDataSet组件从MTS/COM+数据模块取得封装数据的MIDAS数据封包。

但是在图9-5的架构中,由于客户端是直接调用协调对象的方法,而不是直接和MTS/COM+数据模块互动,因此就无法通过TDataSetProvider组件取得封装数据的MIDAS数据封包。

那么数据该如何显示在客户端的图形用户接口或浏览器中呢?要解决这个问题并不困难,就如同《Delphi5.x分布式多层应用系统篇》讨论的一样,程序员只需要把MIDAS的数据封包指定给TClientDataSet的Data属性值,即可以让连接到此TClientDataSet的组件显示数据。

因此,图9-5中的协调对象只需要把它通过MTS/COM+数据模块取得的数据回传给客户端中的TClientDataSet组件不就可以了吗?图9-5中最后一个要解决的问题在于如何让协调对象回传客户端中TClientDataSet组件需要的MIDAS数据封包。

由于协调对象是通过后端的MTS/COM+数据模块来查询数据,因此只要让协调对象通过MTS/COM+中的TDataSetProvider组件取得数据不就可以取得协调对象需要的MIDAS数据封包了吗?要从TDataSetProvider取得MIDAS数据封包最简单的方法是使用TDCOMConnection和TClientDataSet组件,因此我们只需要在协调对象中使用这两个组件不就可以从MTS/COM+数据模块取得数据了吗?那么协调对象要如何使用TDCOMConnection和TClientDataSet组件连接MTS/COM+数据模块中的TDataSetProvider 组件呢?这很简单,让我们在协调对象中建立一个数据模块,再于此数据模块中加入这两个组件,那么就可以连接到MTS/COM+数据模块中的TDataSetProvider组件了。

所以我们最后修改过的系统架构会如图9-6所示。

由于协调对象使用了数据模块以及TDCOMConnection和TClientDataSet组件,因此程序员只需要设定TDCOMConnection的ComputerName和ServerName即可让TDCOMConnection自动地建立MTS/COM+数据模块。

并不需要调用IObjectContext接口的CreateInstance方法,因此方便了不少。

图9-6的系统架构不但解决大部分图9-3可能发生的问题,在使用上也只比直接让客户端连接MTS/COM+数据模块麻烦了一点点,因此可以说是同时兼顾了效率、延展性和生产力。

相关文档
最新文档