rime; thenbeginhz:=inputchar;q:=ord(hz);//取汉字的第一个字节w:=ord(hz);//取汉字的第二个字节//计算区码if q>160 thenq:=q-160elseq:=q-31;//计算位码if w>160 thenw:=w-160elsew:=w-31;//合成后计算区位码qw:=q*100+w;//返回结果result:=format(′%4d′,[qw]);end;end;在charform接口自动添加的单元文件(对应为Unit2)中输入类型库编辑器所定义的方法代码,如下所示:procedure Tcharform.showform;beginform1:=TForm1.Create(nil);//创建窗体tryform1.ShowModal;//以模态的方式显示窗体finallyform1.free;//释放窗体end;end;由于该接口需显示一个窗体来进行区位码计算,因此需在工程中添加一个窗体,并使用前述的计算区位码的核心代码进行编制,在此不做详细介绍,读者可自行设计。(四)注册并调用1.生成并注册COM对象代码输入无误后,保存全部项目。然后点击“Project→Builder 项目名”菜单命令,生成相应的DLL文件(本例为mycharcom.dll)。点击“View→Type Library”菜单命令,打开类型库编辑器,点击“Register”按钮,当出现提示对话框时,即完成COM对象的注册。如果需要卸载该COM组件,可点击“Run→Uninstall ActiveX Server”菜单命令实现。完成COM组件的
注册后,即可在各种开发语言中进行调用,由此充分体现了COM组件的优点。2.在其他语言中调用本例生成的COM组件在Delphi中的调用,前述内容已有详细介绍,在其他各类常用的开发语言的调用方法如下所述:(1)在VB中调用:在基于VB语言的开发环境(包括VBA、VBScript和ASP等),可通过CreateObject函数来创建COM组件的实例,本例编制的组件在VB中创建的语法如下所示:Dim comtest As ObjectSet comtest = CreateObject(″mycharcom.charform″)Set comtest = CreateObject(″mycharcom. charcode″)在VB和VBA开发环境中,还可通过引用的方式调用COM组件。然后用New关键字创建,语法如下所示:Dim comtest As New mycharcom.charformDim comtest As New mycharcom. charcode(2)在JavaScript中调用:在JavaScript中,可通过new ActiveXObject函数创建,本例编制的组件在JavaScript中创建的语法如下所示:var comtest = new ActiveXObject(″mycharcom.charform″);var comtest = new ActiveXObject(″mycharcom.charcode″);COM 接口技术较复杂,Delphi 6无疑是开发COM组件的优秀工具,其隐藏COM实现的细节,开发者仅需简单的步骤即可编制强大的COM
程序。COM技术是软件开发的发展方向之一,也是实现软件工程中即插即用的有效途径。希望有更多的开发者投入COM应用软件领域,开发新一代的COM组件。