字,并可输出版权信息等,因此需设计二个方法。对于窗体界面计算,应可通过相应方法启动窗体界面。初步设计后的区位码计算类的结构如下:(1)无界面直接输出类(命名为“charcode”):接受用户输入的汉字,直接计算(命名为“getcharcode”)。输出版权信息(命名为“version”)。(2)窗体界面计算类(命名为“charform”):启动窗体界面(命名为“showform”)。(三)示例COM的编制1.创建动态链接库启动Delphi 6,点击“File→New...”菜单命令,在打开的“New Items”对话框中,点击“ActiveX”选项卡,选择“ActiveX Library”。然后在打开的新工程窗口中,点击“File→Save All”菜单命令,保存该项目(假设文件名为“mycharcom”),Delphi会自动生成项目所需的文件。其中包括mycharcom.dpr(工程的项目文件)、mycharcom.res(项目资源文件)、mycharcom.dof(Delphi选项文件)、mycharcom.cfg(项目配置文件)。2.建立COM接口对象点击“File→New...”子菜单,在打开的新项目对话框中点击“ActiveX”选项卡,选择“Automation Object”。然后在项目中新建一个自动类型的COM对象,该类型的COM对象可自动注册,且自动支持被其他语言调用。此时在出现的对话框中输入COM 类名(本例输入charcode),对话框中其他选项用于设置COM对象的性质,读者可查阅帮助信息。随后再以相同的方法建立另一个接口对象(命名为 charform)即可。3.编辑相应接口对象的属性和方法点击“View→Type Library”菜单命令,启动类型库编辑器,类型库是存储COM对象说明的文件,也是一个可被多语言调用的头文件包。开发者可在类型库中定义COM对象的接口及接口对象的属性和方法等。Delphi会自动产生MyCOM类的二个接口类Icharcode和Icharform,开发者可通过类型库编辑器为接口定义方法和属性:(1)选择一个接口,然后点击编辑器顶部的“New Method”按钮。(2)选择该方法,在“Arributes”选项卡的“Name”中输入方法名称(本例为getcharcode)。(3)在“Parameters”选项卡中,点击“Add”按钮编辑方法的参数。本例需getcharcode(用于输入)和chinesechar(用于输出)两个BSTR类型的参数,其中chinesechar参数必须定义为指针型。(4)“Flags”选项卡用于对接口的属性进行调整,一般不需设置。(5)在“Text”选项卡中可查看生成的代码,如下所示:[id(0x00000003)]HRESULT _stdcall getcharcode([in] BSTR inputchar, [out, retval] BSTR * chinesechar );(6)点击“Refresh”按钮,关闭类型库编辑器。(7)当需为接口添加新属性和方法时,可重新打开编辑器继续添加。(8)点击“File→Save All”菜单命令,Delphi会自动生成主要的相关文件。包括mycharcom_TLB.dcu(类型库文件)、mycharcom_TLB.pas (包含COM接口和对象的说明,其主要目的为方便访问,在客户程序中需将本文件包含至工程中)。4.实现COM接口中的属性和方法在自动添加的单元文件(charcode接口对应为Unit1)中会发现类型库编辑器中所定义的方法和属性的声明,开发者只需输入代码即可,如下所示://charcode接口的“version”属性对应代码function Tcharcode.Get_version: WideString;beginresult:=′编制:马文刚 版本:1.0′;end;// charcode接口的“getcharcode”属性对应代码function Tcharcode.getcharcode(const inputchar: WideString): WideString;varq,w,qw:integer;hz:string;beginif inputchar<>′&p