Delhi中动态链接库两种调用方式的比节能
民生救助 2020-09-30 19:54 字号: 大 中 小
2.动态调用方式
这个示例程序创建了一个显示日期的DLL,其中包含一个窗体,如图2所示。
图2 DLL的动态调用
程序中定义了一个ShowCalendar函数,返回在这个窗体中设定的日期。函数定义如下:
function ShowCalendar(AHandle: THandle; ACaption: String): TDateTime;
var
DLLForm: TDLLForm;
begin
ndle := AHandle;
DLLForm := eate(Application); //创建并显示窗体
try
ption := ACaption;
owModal; //显示方式为模式化
Result := lendarDate; //返回设定日期
finally
ee; //用完后卸载该窗体
end;
end;
在DLL的工程文件中用exports S从根本上改变餐饮经营落后的状况。 二、规模运营单店转为平台化盈利 如果餐饮借助互联从开一个店扩张为开一百家店howCalendar; 语句引出该函数。下面通过一个简单的应用程序测试一下该DLL文件。新建一个工程文件,在窗体中放置一个Label控件和一个按钮控件,在按钮控件的OnClick事件中编写如下代码:
procedure tton1Click(Sender: TObject);
var
OneHandle : THandle; //定义一个句柄变量
begin
OneHandle := LoadLibrary('l'); //动态载入DLL,并返回其句柄
try
if OneHandle 0 then //如果载入成功则获取ShowCalendar函数的地址
@Show以郭松和兰蓉为代表的青年学生Calendar := GetProcAddress(OneHandle, 'ShowCalendar');
if not (@ShowCalendar = nil) then
//如果找到该函数则在主窗体的Label1中显示DLL窗体中设定的日期
ption := DateToStr(ShowCalendar(ndle, Caption))
else
RaiseLastWin32Error;
finally
FreeLibrary(OneHandle); //调用完毕收回DLL占用的资源
end;
end;
从以上程序中可以看到DLL的动态调用方式比静态调用方式的优越之处。DLL例程在用到时才被调入,用完后就被卸载,大大减少了系统资源的占用。在调用LoadLibrary函数时可以明确指定DLL的完整路径,如果没有指定路径,运行时首先查找应用程序载入的目录,然后是Windows系统的System目录和环境变量Path设定的路径。
五、结束语
由于动态链接库可以实现代码和资源的共享,大大减少系统资源的占用,因此在当今的应用程序开发中起着非常重要的作用。Delphi是现今流行的应用软件开发工具,本文就如何在Delphi中使用动态链接库给出了一定程度上的阐述。
查看本文来源
常德治疗白癜风较好的医院白带多怎样治疗北京开锁公司电话-
-
海南楼市淡季加速出岛营销加速出货或成主旋搭配
海南楼市淡季加速出岛营销 加速出货或成主旋律进入今年以来...
2020-05-31 | 民生救助
-
-
最新MVP排行榜字母哥升至榜首库里紧随其搭配
最新MVP排行榜:字母哥升至榜首 库里紧随其后字母哥升至首位...
2020-05-27 | 民生救助
-
-
浙江建筑业全面实施按月足额支付工资
浙江:建筑业全面实施按月足额支付工资 新华社杭州9月...
2019-12-17 | 民生救助
-
-
扎实开展消防工作法治维安年活动
扎实开展消防工作“法治维安年”活动4月11日下午,全区2017年...
2019-12-17 | 民生救助
-
-
别拿电视问政来作秀
别拿“电视问政”来作秀回答的局长,不要搞大话、空话、套...
2019-07-13 | 民生救助
-
-
日通乡认真贯彻落实上级文件精神
日通乡认真贯彻落实上级文件精神本消息 6月16日,卡若区召开...
2019-07-13 | 民生救助