在Visual Basic中嵌入Delphi窗体的应用技术

Delphi

2004篮第25卷

3月

第1期

郑州大学学报(工学版)

JoumalofZherlgzhouUniversity(EngineeringScience)

Mal-2004

Vol25Nol

文章编号:1671—6833【2004)01一0070—03

在VisualBasic中嵌入Delphi窗体的应用技术

周振红1,郭恒亮1,杨国录2

(1.郑州大学环境与水利学院,河南郑州450002;2武汉大学水利水电学院,湖北武汉430072)

摘要:Delphi窗体嵌入到VisualBasic应用中,可充分利用Delphi的可视化窗体继承技术.并为项目蛆在语言工具选择上提供是活性.在Delphi的DLL项目中添加窗体,并在其导出过程中完成窗体的创建、显示和释放;VisualBasic应用通过调用D[J,的导出过程即可展示Delphi窗体实现的关键是在导出过程的参数表中设置旬柄参数,以便传递调用程序对象的实例句柄;若显示非模式窗体,导出过程还需返回宙体句柄,以便调用程序对窗体进行雏护

关键词:Delphi;可视化窗体继承;VisualBasic;DLL

中圈分类号:口3ll文献标识码:A

0引言

窗体设计器能极大地提高开发应用程序的整体效率,因此Delphi、VisualBasic等RAD工具都拥有窗体设计器.Delphi-1o窗体设计’器的独特之处在于:Delphi是建立在一个真正面向对象的框架结构基础之上的,它的可视化窗体继承(VisualFormInheritance:VFI)技术允许动态继承窗体,从而达到最大程度重用窗体对象及其实现代码的目的.VisualB鹕ic…2在快速原型、系统集成方面仍有其不可替代的作用.将Delphj窗体嵌入到Visu.alBasic环境中,一方面可利用VisualBasic开发应用的简便高效和Delphi可视化窗体继承技术的优势;另一方面也为项目组在语言工具的选择上提供宽松的环境

开发基于Windows平台的客户端应用,且与语言无关的实现途径:一是基于组件对象模型COM【31的ActiveX控件技术;二是动态链接库DLL.传统的DLL一般作为函数库”1使用,本文将DLL作为窗体对象库使用:在Delphi中,将窗体(模式窗体和非模式窗体)添加至DLL中;VisualBasic通过调用DLL中的导出过程直接使用窗体.

1创建包含窗体的DLL

实例程序:在Delphi7.0中,分别创建包含日历组件(Tcalendar)的模式窗体和非模式窗体,并将窗体添加至DLL项目中;然后,在VisualBasic应用中直接调用上述窗体.

1.1模式窗体

包含模式窗体的DLL项目文件为:

libraryCalendarLib;//DLL项日名称

USeS//项目引用的单元:

sysUtils,Classes,

DLLFrmin’DLLFrm.pas’{DLLForm};//窗体文件

exports

ShowCalendar;//DLL导出的过程

begin

end.

其中,ShowCalendar的函数原型为:

funotionShowCalendar(AHandle:THandle):TDate—Tirile;StdCall;

VisualBasic6.0程序通过调用ShowCalendar黼数来显示日历窗体(见图1所示),当选择日历上的日期后,该函数将日期返回给调用程序:functionShowCalendar(AHandle:THandle):TDateTime;

Var

DLLForm:7rDllF0丌Il://TDLLFo珊=class(TForm)

begin

Application.Handle:=AHandle;//将调用

收稿目.期:2003一ll一18;修订El期:2003—12—30

基金项目:国家自然科学基金资助项目(50099620);河南省高校青年骨干教师基金资助项目

作者简介:周振红(1963一),男,“I系省蓬茉市人,郑州大学副教授,博士,主要从事G1S教学和科研万方数据

在Visual Basic中嵌入Delphi窗体的应用技术相关文档

最新文档

返回顶部