信息化 频道

<连载>Protel二次开发从入门到精通

  第一章Protel服务器开发工具(SDK)

  1. 什么是SDK?

一般情况下,开发一个Windows应用程序需要开发者编写代码来生成全部的用户界面,编写程序中相关算法和过程函数来执行各种各样的的功能。Protel的设计资源管理器(Design Explorer)改变了所有这一切,它是一个强大的集成平台,提供一个现成的开发环境,使开发者能快速地开发产品,并以插件程序(plug-in) “服务”方式运行在设计资源管理器后台中。由于设计资源管理器为EDA应用程序提供了使用接口和许多实用的基本功能,所以开发者可集中精力在创建要开发的服务器的功能性方面工作。有了SDK提供的开放应用程序接口(API),开发服务于所有的Protel的产品是可能的,包括设计资源管理器和以插件方式加入到其中的服务器,使开发者完全有能力来访问设计资源管理器及Protel设计工具,包括原理图(SCH)编辑器和印刷电路板(PCB) 编辑器。

服务器开发工具(SDK)被建立的目的只有一点,就是为了辅助设计资源管理器来开发功能服务器。SDK有两个主要部份:一是服务器制作向导,一个运行在设计资源管理器中并为您要开发的服务器产生模板源代码文件的服务,以及自动产生必须的服务安装文件来安装您开发的服务器到设计资源管理器中;二是一套综合性的文档,包括相关开发的手册和API参考手册。

服务器制作向导引导您快速通过为设计资源管理器而设置您要开发的新服务器的过程。此服务器制作向导产生适合于Borland Delphi(支持3和5版本) 应用开发环境的模板文件。这些模板源代码文件包括为构建一个服务器必须的外壳代码,以及Delphi项目文件。一当模板文件被产生,项目能被在Delphi3或多5中打开,并准备好来编写实际的服务器代码。

Protel 99 SE有多个补丁包,最多到SP6,SDK是SP2发行的,所以,为开发新的服务器,需要Protel 99 SE SP2和SDK。需要Protel 99 SE SP2和SDK请和相关供应商或原厂商联系。

  2. 为设计资源管理器开发一个服务器
  2.1 使用Protel SDK

Protel SDK是一个为设计资源管理器平台来产生商业质量的EDA软件的快速的应用程序开发工具。Protel SDK有一个向导应用程序,专门被设计来为快速跟踪您的EDA应用程序开发。向导内置在Protel SDK中,很容易于为您定义EDA应用程序框架。为您的EDA应用程序产生源代码模板。

  2.1.1为什么应该使用服务器制作向导?

不使用服务器制作向导产生的代码中构建一个服务器是当然也是可能的,然而您将不得不为Delphi的工程用手工方式加入设计资源管理器的运行时间库,并构建一个命令启动表和一个服务器安装文件等等,这样,服务器才能被注册到设计资源管理器中。为什么通过这样冗长和麻烦的步骤呢,所以,我们能让Protel SDK的服务器来制作向导,为您的需要以插件方式加入设计资源管理器的服务器来产生必须的功能性的构架代码。

  2.1.2 Protel SDK能为您做什么?

Protel SDK提供了一套在设计资源管理器内的用户接口开发工具,以允许您来指定EDA应用程序的基本的结构,并将为用户产生一套Borland Delphi 3或5的模板文件。这些模板文件使您易于完成应用程序代码的开发。Protel SDK能产生联机帮助文件和可被包在EDA应用程序中的联机用户手册。

如果希望手工来写所有的代码,当然也可以,但是使用Protel SDK将解除您的麻烦和学习相关的程序设计方面的Windows对象和Windows API的弯路。Protel SDK承担了开发一个EDA程序的最辛苦的工作,但它不是一个程序开发环境并且不能代替您来编写一个完整功能的EDA应用程序所有的代码工作。

服务器制作向导是Protel SDK为服务器开发提供一个前端,可在较短的时间内产生服务器框架代码。

 

 

图1-1 服务器创建流程图

图1-1显示服务器创建流程,图中有数个方法,来为设计资源管理器平台开始开发一个EDA应用程序。

  2.1.3Protel SDK产生什么?

Protel SDK可产生下列内容:

·文档编辑器/浏览服务器,向导服务器,或为Borland Delphi开发平台产生的实用服务器代码(支持Delphi 3和Delphi5)。

·产生相关资源:资源编辑器和进程,分配启动进程。

·产生相关文档:联机帮助和手册。

·为所有服务器产生安装文件(按“服务器的名称.INS”格式)。

·为文档编辑器/浏览器产生资源文件(按“服务器名称.RCS”格式)。

  2.1.4激活Protel SDK

为了激活Protel SDK,您需要按下列方法进行:

·您需要先打开的一个设计数据库,这样才能产生一个服务器文档并且存储其到设计数据库中。

·从菜单中选择“File(文件)”->“New(新建)”,然后在“New Document(新文档)”对话框中点击“Wizards(向导)”标签,选择“Server Creation(服务器创建)”并且点击“OK(确定)”。服务器制作向导将创建组件来帮助您构建服务器。如果您在进程浏览对话框中找不到“ServMake:ServerCreationWizard”,说明Protel SDK还没有安装在设计资源管理器中,需要安装Protel SDK。

服务器制作向导是一个多页对话框,一步一步带领您通过SDK设置信息的过程,在此过程中SDK来设置要创建的服务器模板文件所必须的信息。无论何时,您要创建一个新的服务器文件或当Protel SDK被激活时,此服务器制作被调用。

向导将指导您通过所有必须的步骤,来构建一个新的服务器。向导通过在多页对话框窗口中强出一系列的页面来指导输入信息,简单地输入在服务器制作向导中的每一页上的字段中的信息。当您完成所有向导的步骤,服务器制作向导将使用您输入的信息,来创建一个新的服务器。

 

  2.2 创建您的第一个服务器

在运行向导前,先启动Protel 99 SE设计资源管理器应用程序,此时如果已有服务器图表文档(.SRV类型文档)被打开,请先关闭。

使用SDK来构建服务器是如此的容易,我们只需按提示一步一步进行,Protel SDK产生构架代码后,在Delphi开发工具中打开此工程,并编码实际的功能代码。为了作一个简单示范,此例子仅显示一个字符串,说“嘿,老兄,这就是您的第一个Protel服务器”。

  2.2.1运行服务器制作向导

启动Protel 99 SE设计资源管理器应用程序,打开一个设计数据库,如Z80 Microprocessor.Ddb,按下列步骤来产生您的第一个服务器:

从菜单中选择“File(文件)”->“New(新建)”,然后在“New Document(新文档)”对话框中点击“Wizards(向导)”标签,选择“Server Creation(服务器创建)”并且点击“OK(确定)”。

图1-2 “New Document(新文档)”对话框

图1-3 服务器创建向导

图1-4 选择服务器类型


图1-5 输入服务器名称


    选择“Wizard Server”。

输入服务器名称,默认名称为“MyServer”。


图1-6 输入服务器描述

输入服务器描述。

 


图1-7 输入公司名称

 

输入公司名称。


图1-8 选择工程输出路径

    此路径是模板代码将被复制到的目录。在此范例,“X:MyServer”路径被定义X驱动器字母,(通常C:驱动器),您也能点击“浏览”按扭来设置其它目录,保持所有的您的服务器文件到一个目录和它的子目录中是一个好的习惯。

 

 


图1-9 选择工程的版本


如选择“E:\Samples\No1”。

 

选择Borland Delphi 5,并点击“Next”。


图1-10 完成向导

 

 


图1-11 文档信息和进程

图1-11显示已创建好的服务器图表文档的详细信息。Protel SDK基于在向导中您对问题的回答信息,来产生此服务器的图表文档。在图1-11的“Processes”页面中,仅有一个“RunWizard” 进程被定义。

在“MyFirstServer.srv”标签中,分成两部份内容,左边文档信息页,右边是进程输入页。

文档信息页:可输入此服务器相关描述信息,如名称、描述、关于、授权和版本等。

进程输入页:能定义一直到两个进程(稍后能增加更多)。在此例子中,仅一个进程将被定义。

 


图1-12 服务器进程

    双击“RunWizard| RunWizard”可修改此进程的名称和描述。“|”号前面是名称,后面是描述。

 

    定义进程名称为“MyFirstProcess”,并输入描述 “我的第一个进程”,按“OK”确定。

    点击主工具条上保存按扭。

一个服务器图表文档将被创建在设计资源管理器中。常保存服务器图表文档是一个好习惯,因为如果您计划修改或增加或删除进程并且增加或删除文档类型,您必须需要有此服务器图表文档。

  2.2.2设置服务器选项

到目前为目,Protel仅为您产生了一个服务器构架,还没有真正产生构架代码和文档。在产生构架代码和文档前,可以对此服务器类型进行设置。

 


图1-13 设置服务器选项

 

选择菜单中“Tools(工具)”->“Options(选项)”,可设置服务器类型、Delphi支持的版本、输出路径等。服务器类型将确定Protel SDK所产生的正确程序模板文件,并且也影响您在服务器文档图表中设定的参数。

  2.2.3Protel SDK产生您的服务器代码

 


图1-14 产生构架代码工作完成


    当您在服务器文档图表中完成所有的信息设置,在Protel SDK中选择菜单“Tools(工具)”->“Generate(产生)”项来为服务器产生模板代码文件。产生的源代码文件将被创建在服务器文档选项对话框中指定的源代码输出目录中。

 

图1-15 SDK产生的文档

     使用Windows资源管理器或文件管理打开到您的项目输出路径,检查是否有Protel SDK为此服务器例子产生的模板代码。您应该有“MyFirstServer.DPR”,此文件是项目文件,“MyFirstServer.DOF”包含编译设置,“MyFirstServer.INS”包含设计资源管理器的安装信息。“MyFirstServer.RCS”包含资源和最终一系列支持源代码文件。通过Protel SDK完成的为每一个服务器类型的产生的项目文件清单,请参见“Protel SDK产生什么”章节内容。图1-15显示了SDK所产生的文档。

 

 

  2.2.4在Borland Delphi 5中编译您的服务器项目

启动Delphi 5,打开“MyFirstServer.DPR”工程,Delphi 5提示没有找到一个资源文件,没有关系,Delphi 5会自动创建一个。

图1-16 资源文件

 


图1-17 设置输出路径和检索路径


  在编译前需要为此工程设置编译器设置项,点击Delphi 5菜单中“Project(项目)”->“Options(选项)”。项目选项表对话框将出现,点击路径/条件标签,在路径框中,为输出路径和单元输出路径输入路径到您的项目路径。输入“D:\Program Files\Design Explorer 99 SE\SDK\RTL5”为搜索路径目录(笔者的SDK是安装在此位置,如果您的安装位置不同,请按实际情况设定)。

 


图1-18 设置运行包
打开Commands.pas单元,在Procedure Command_MyFirstProcess过程中加入一条语句:

 

 


图1-19 简单编写一行代码


    ShowInfo('嘿,老兄,这就是您的第一个Protel服务器');

 

简单的一行代码编码完成后,点击菜单中“Project”下“Builder MyFirstServer”,在输出路径“E:\SAMPLES\No1”中将产生MyFirstServer.Dll文件。

 


图1-20 编译工程后产生DLL文件

在目录下看一看,哪些源代码和输出文件被产生。您将看到有三个文件被Protel SDK产生:一个可安装服务器文件(MyFirstServer.INS),主模块(MyFirstServer.DLL)文件和一个资源文件,MyFirstServer.RES。这些三个文件对一个文件编辑器/浏览器服务器被成功地以插件方式加入到设计资源管理器中是必须的。

 


图1-21 选择“Servers”菜单项


  INS文件描述您的服务器,窗体和文档列出它的类型和列出服务器支持的进程。ASCII文件被自动地通过服务器制作向导编译。

 

  2.2.5把服务器加入到Protel 99 SE中

 


图1-22EDA服务器安装


  所有的服务器都是以插件方式加入到Protel 99 SE中。一旦您有了服务器必须所有的文件,就可以把服务器安装到设计资源管理器中。启动Protel 99 SE,从设计资源管理器系统菜单中选择“Servers” 菜单项。

 

点击“Menu”按扭,系统强出如下菜单:

 


图1-23 维护服务器弹出菜单
点击“Install”按扭,系统强出选择所要安装的服务器对话框。


图1-24 选择“MyFirstServer.INS”


图1-25 安装完成


点击“打开”按扭,安装过程完成。系统显示刚安装好的服务器。

 

“MyFirstServer”图标显示EDA服务器对话框表示“MyFirstServer”已被安装到Protel 99 SE设计资源管理器中。

 

  2.2.6运行您的第一个服务器

服务器安装好后是不能立即自动运行的,需要定制运行命令菜单。点击Protel 99 SE设计资源管理器系统菜单,从中选择“Customize…” 菜单项。


图1-26 定制服务器命令菜单


    系统弹出对话框如下:


图1-27 客户化资源定制

    点击“Menu”按扭,系统弹出菜单如下:

 

 


图1-28 维护菜单

 

点击“Edit…”菜单项,系统弹出菜单如下:

 


图1-29 菜单属性

  点击鼠标右键,系统弹出如下菜单。

 


图1-30 维护菜单项

点击“Add”菜单项,系统增加一个菜单项,回到菜单属性窗体,如图1-31。


图1-31 菜单属性

点击“Browse…”,系统弹出对话框如图1-32。

 


图1-32 进程浏览对话框
  拖动滚动条,找到“MyFirstServer: MyFirstProcess”项,一个小技巧是在对话框中按M键,这样能快速定位到以M开头的进程。

 

按“OK”确定,系统回到菜单属性对话框。

 

 

图1-33 菜单属性

 

再按一次“Close”完成全部定制。

  把TEXT中Menu改成“我的第一个服务器”,按“Close”按扭完成。

 

 

图1-34 安装好的菜单

  点击菜单“我的第一个服务器”,系统弹出对话框如下:

 


图1-35 大功告成(e-works)

0
相关文章