纸箱软件中动态链接库(DLL)的使用

2017-11-08 14:08倪华娟
商情 2012年48期

倪华娟

[摘要]随着信息化技术的飞速发展,纸箱业和其他制造业信息化一样,经历了从单机运行至内部局域网最终致互联网网上运行的发展历程,同行之间的竞争变成了企业信息管理的竞争。本文通过对比当前流行的设计软件开发平台的研究,发现Delphi是一款简单、易于掌握,并且功能强大、实用的系统开发软件。认为Delphi的动态链接库是一种特殊的可执行文件,它的内存机制可以减少系统资源占用,而且便于系统升级。由于DLL具有节省内存、共享代码、升级方便和独立于编程语言的优点,现已被广泛应用。另外,Delphi利用DLL实现了窗体的重用机制,用户可以将自己设计好的窗体储存在一个DLL中,在需要的时候可随时调用它。

经过对纸箱软件的分析研究,本课题使用了Delphi的动态链接库技术,结合SQL SERVER数据库开发建立了一个绘制纸箱设计图的DLL库模块。

[关键词]纸箱设计;动态链接库;DLL;Delphi

一、研究现状

随着国内包装业的迅猛发展,原来靠装备精良、实力雄厚占得先机的纸箱企业,现在敏锐地发现在设备、技术方面大家已在同一条起跑线上,同行之间的竞争变成了企业内部管理的竞争。所谓“工欲善其事,必先利其器”,运用ERP系统来管理企业内部事务,近两年这一趋势更呈加速。在纸箱生产行业中,ERP应用的复杂性主要是客户对纸箱产品的要求千变万化,客户需求的品种规格也很多,众所周知,纸箱企业客户所需的产品几乎没有相同的,箱型、=型、纸质、印(工艺等细节都有特定的要求,这就要求厂家快速制作样品模型。

二、课题主要研究内容

本课题是基于纸箱ERP管理系统,由于纸箱管理系统本身多变的特点,很少有纸箱ERP管理系统集成了纸箱图纸的自动生成功能,目前纸箱行业对ERP管理系统要求越来越迫切,为了更好、更方便快捷的服务纸箱业客户,本次课题主要研究的是如何利用DELPHI开发软件自动生成纸箱图纸,为了使程序能更方便的修改,也为了这些代码能更好的共享,我们使用了动态链接库技术(DLL)自动生成纸箱图纸。如果能通过动态链接库技术(DLL)自动生成图纸,我们只需要简单的根据纸箱边长各尺寸,输入相应的数据就能自动生成纸箱图形(.bmp)。这样我们就可以通过程序简单的调用.DLL文件实现生成图纸的功能,而不用每次都写一长串的代码,修改也变得更加方便。

三、本课题采取的研究方法和技术途径

(一)Dll的制作一般分为以下几步:

l、在一个DLL工程里写一个过程或f数。2、写一个Expo~s关键字,在其下写过程的名称。不用写参数和调用后]。

(二)参数传递

l、参数类型最好与window C++的参数类型一致。不要用DELPHI的数据类型。2、最好有D回值[即使是一个过程],来报出调用成功或失败,或状态。成功或失败的D回值最好为1[成功]或0[失败].一句话,与windows c++兼容。3、用stdcall声明后]。4、最好大小写敏感。5、无须用far调用后],那只是为了与windows 16位程序兼容。

(三)全局变量的使用

在widnows 32位程序中,两个应用程序的地址空间是相互没有联系的。虽然DLL在内存中是一份,但变量是在各进程的地址空间中,因此你不能借助dll的全局变量来达到两个应用程序间的数据传递,除非你用内存映像文件。

(四)调用静态载入

l、客户端f数声名:

1)大小写敏感。2)与DLL中的声明一样。3)调用时传过去的参数类型最好也与windows c++一样。4)调用时DLL必须在windows搜索路径中,顺序是:当前目录;Path路径;windows;widows\system;windows\ssystem32;

(五)調用动态载入

建立一种过程类型(或者是一个Function)[如果你对过程类型的变量只是一个指针的本质清楚的话,你就知道是怎么回事了1。如:

四、总结

本课题使纸箱管理软件集成了自动生成纸箱图纸的功能(.bmp),原来很多企业是手动画图的,现在我们只要简单的输入纸箱图的型号及各边长就能自动生成BMP图纸,大大提高了纸箱厂的工作效率,而且使用了DLL动态链接库技术使文件调用更加简单,增加的程序的安全性,使以后程序升级更加简单。

本课题先通过创建一个DLL工程文件,生成一个.DLL文件,把生成的.DLL文件复制到一个一般的工程文件夹下,通过一个=口程序输入相应纸箱图的各个边长,然后调用DLL文件,把相应的边长的参数读取进来,再根据这些边长自动生成一个BMP的图片。总的来说,本课题的成果是一种用DELPHI数据链接库方法研究的一种生成BMP纸箱图纸的算法。endprint