连接delphi教程

delphi教程  时间:2021-04-04  阅读:()
研华设备驱动程序编程使用介绍(本文件内容适用于所有数字量和模拟量采集卡)这一部分包括了创建DA&C应用的基本信息,介绍了设备驱动程序文件的特点,讲解了基本的使用方法.
VisualC++5.
0或更高版本VisualBasic5.
0或更高版本Delphi4.
0或更高版本BorlandC++5.
0或C++builder1.
0或更高版本如果您正在使用的开发工具不是上面所述的几种,请仔细查阅您所使用的工具的文档,了解该工具如何调用动态连接库来创建应用程序.
Windows95/98/NT/2000的32位DLL的函数库是动态连接,这就是说动态连接库并不直接编译到应用程序的可执行文件中,而只是将动态连接库的路径信息保存在可执行文件中.
设备驱动程序只是在可执行程序执行过程中动态连接库被调用的时候才被连接到应用程序.
导入库(*.
LIB)包含了它们它们的动态连接库定义的外部函数.
它们隐含了动态连接库的位置.
如何为您的应用程序引入动态连接库的路径信息,例如:是通过导入函数库还是通过函数声明的方法,取决于您所使用的编程工具.
使用函数原型是良好的编程习惯,这也是为什么设备驱动程序总是被打包成函数原型形式.
安装工具为您选择的的开发工具拷贝正确的的原型文件.
如果你不打算使用研华驱动程序支持的开发工具,那么您需要创建您自己的函数原型.
按照下面的步骤开始对研华的硬件设备编程应用:这一部分我们推荐您采用研华的设备驱动程序结合微软的可视化平台来开发您的系统!
研华设备驱动程序支持VisualC++5.
0及其以上的版本.
要使用DA&C函数,需要按照下面的步骤使用研华驱动程序提供的DLL(动态连接库,DynamicLinkedLibrary)1.
象编写一般的Windows应用程序一样创建您的应用程序代码,在这些代码中可以象典型的函数调用一样调用研华驱动程序中提供的动态连接库中(DLL)的函数.
2.
声明在您的程序中用到的函数,即:包含动态连接库(DLL)的头文件,该函数声明了所有的动态连接库中的函数,如下所示:#include"driver.
h"3.
将动态连接库的(DLL)的导入库(例如,"ADSAPI32.
LIB")加到工程模块中.
依照下面的步骤即可编写一个简单的VisualC++Windows程序:1.
点击File|New菜单,创建一个新工程图(1)创建VisualC++应用程序2.
选择新工程的类型为"Win32Application",确定应用平台为"Win32",并为其指定一个文件目录.
图(2):确定应用程序类型和指定一个工程目录3.
要使用研华提供的设备驱动程序及其库函数来开发应用程序,必须首先在在VisualC++添加头文件,单击图中所示的Files菜单向,找到driver.
h文件并加入到工程中图(3)在您的工程中加入驱动程序的头函数4.
加入driver.
h文件之后,就可以在VC的工作区中看到它.
图(4)将头文件引入工程目录后5.
在加入头文件之后,这个文件定义了研华在动态连接库中要用到的函数和变量,这些变量和函数都可以在这个新创建的工程中使用.
图(5)在工程中的头函数6.
在工作区的ClassView中,就可以编辑自己所需要的代码,其中使用到具体的研华提供的库函数的时候可以参照DeviceDriverUserManual.
图()创建你自己的应用程序67.
为了能够调用所有的动态连接库,我们需要在工程中导入ADSAPI32.
LIB,同加入driver.
h的方法类似,我们通过Project-〉Setting选项来进行设置,具体过程如下:图()将动态连接库导入工程78.
单击Setting菜单后弹出ProjetSetting对话框,选择其中的Link属性页,在其中的Object/Librarymodules框里面输入adsapi32.
lib的路径,然后点击OK按钮退出该对话框,这样编译程序的时候就可以把adsapi32.
lib函数库编译并连接到执行文件中.
图将动态连接库与工程相连接(8)在VC下面加入动态连接库比较简单的办法是:直接将所需的头文件和库函数拷贝到您的工程文件夹下面,然后再依照上面的方法将头文件和库函数导入您的工程.
使用visualBasic来创建应用程序:要正确的使用DA&C函数,你必须按照下面的步骤来使用DA&C的动态连接库1.
择File|NewProject菜单创建工程,这一点同其他的类型的程序创建是完全一样的.
图(9)创建新的VB工程为了能够使用研华的的驱动程序来开发数据采集工程,首先需要将研华驱动程序的头文件包含到工程中,具体方法是选择View|ProjectExplorer菜单、单击3ProjectExplorer按钮之后,弹出ProjectExplorer窗口,在该窗口中单击右键,显示了一些可选的菜单单击AddFile菜单添加为的AdvantechVisualBasic库文件"Driver.
bas,随后会弹出文件"选择对话框.
通常情况下着头文件是包含在驱动程序安装的默认路径下面.
下面如何调用动VB态连接库请参考使用手册.
VB加入库文件后就可以浏览工程中用到的常量,参数声明和动态连接库中的函数.
创建您自己的应用程序代码,并且使用动态连接库中的函数.
使用BorlandDephi在Dephi下面使研华提供的用动态连接库,需要按照下面的步骤操作;)选择1File|NewApplication创建一个新的工程2)选择View|ProjectManager来设计应用程序窗体,编写代码.
单击该菜单后会弹出一个ProjectManager对话框.
3.
首先通过Project|AddtoProject在工程中添加Advantech32位设备驱动程序的头文件,单击该菜单会弹出一个文件查找的对话框,可以从中选择所需的动态连接库文件.
4.
选择动态连接库的库文件"Driver.
pas"并确定,ProjectManager中将会显示该头文件及其位置.
5.
双击头文件,就可以看到在程序中可以调用的常量的定义,参数声明和动态连接库函数.
6.
创建你自己的Delphi程序界面代码.
这时你可以参照驱动程序光盘上面的例子程序和相关代码,设计完毕之后单击Run菜单测试程序.
为Windows95/98/2000/NT提供的驱动程序包括一个动态连接库和一个内核系统文件,主要的函数都包含在内核模式的设备驱动程序里面.
动态连接库则提供了一个简单的编程接口.
驱动程序的动态连接库文件,ADSAPI32.
DLL,在95/98系统的SYSTEM文件夹下面;2000/NT系统在SYSTEM32文件夹下面;内核设备驱动程序文件,ADSIO.
SYS在Windows\Drivers目录下面.
除了上述的系统文件外,驱动程序还带有其他的一些有助于您开发DA&C应用程序的文件.
这些文件也都存在于您驱动程序安装的目录中.
注:"Driver.
bas"包含了所有的动态连接库函数的原型,在开发您的数据采集程序的时候您需要将这个文件包含到您的源文件中去.
使用BorlangC++或C++Builder安装好设备驱动程序之后,在C++Builder5.
0以上的版本中可以按照如下的步骤开始编程:1)使用File|NewApplication创建一个新的工程2)添加变量:……staticDEVFEATURESDevFeatures;……2)添加这一句代码之后#includeinclude\driver.
h",编译程序就可以看到如下的driver.
h中的代码.
2)使用Project/AddtoProject…添加函数库(AdsApi32bcb.
lib)到工程中:3)编辑程序界面如下图:4)在单击界面上面的按钮可以进入命令编辑界面,依次添加程序处理代码void__fastcallTForm1::butStartClick(TObject*Sender){}具体代码参见例子程序如果您使用的C++Builder比较低的版本那么就可能需要一些复杂的转换工作:使用类库创建一个新工程,如果你希望直接使用我们提供的例子程序中的代码,那么1.
在创建程序的时候,不要选择使用类.
OWL2.
如果函数库(例如:\ADSAPI\EXMPLES\BC\LIB\ADSAPIBC.
LIB)与您的Borlandc++版本不兼容,您需要使用implib工具创建新的.
LIB文件.
Syntax:IMPLIB[options]libname[.
lib]dllname[.
dll]语法:IMPLIB[可选]库名[.
lib]动态连接库名[.
dll]例子:IMPLIBC:\ProgramFiles\Advantech\Adsapi\Examples\BC\LIB\ADSAPIBC.
LIBC:\WinNT\ADSAPI32.
DLL注:提供给BorlandC++/BorlandC++Builder的头函数同提供给VisualC++的头文件是完全一样的.
1.
在工程中加入您自己的代码2.
在工程的ProjectOptions选项的Processor中将数据格式改成QuadWord(8-Byte).
因为VisualC++VisualBasic/Delphi的默认数据格式就是四字节,你就不要在这些程序的环境中改变配置了.
思考:除了了解如何使用研华的驱动程序之外,你还要需要考虑到在使用动态连接库时可能发生的一些问题.
这一部分简单介绍了这些问题的本质,下面的一节给出了这些问题的解决办法(不同的编程语言,解决的办法也各不相同)内存分配:在Windows应用程序中分配内存要比在非Windows应用程序受到更多的限制,因为Windows有它自己的内存分配函数,这就要求你通过Windows内存管理器来分配内存.
通常情况下你需要使用Windows提供的内存分配函数来分配内存,而不是使用个别语言自己提供的字符串传递:当Windows动态连接库调用一个字符串作为传递参数,它需要一个指向null结尾的字符串.
不同的编程语言需要不同的字符串处理来支持这种类型.
参数传递:你可以采用传值/传地址的方式来传递参数,而不同的编程语言有不同的默认设置.
你必须使用传值/传址方式传递特定类型的参数给每个一Windows函数.
注:DRV_GetAddress函数只是在VisualBasic中才用到.
因为在VC++或者是Delphi中,用户可以使用指针变量或者取得一个变量的地址.
然而,在VisualBasic中没有Windows标准函数来取得变量的内存地址.
而Advantech的设备驱动程序多数函数需要一个地址参数作变量

vpsdime:VPS内存/2核/VPS,4G内存/2核/50gSSD/2T流量/达拉斯机房达拉斯机房,新产品系列-Windows VPS

vpsdime上了新产品系列-Windows VPS,配置依旧很高但是价格依旧是走低端线路。或许vpsdime的母公司Nodisto IT想把核心产品集中到vpsdime上吧,当然这只是站长个人的猜测,毕竟winity.io也是专业卖Windows vps的,而且也是他们自己的品牌。vpsdime是一家新上来不久的奇葩VPS提供商,实际是和backupspy以及crowncloud等都是同一家公司...

Megalayer促销:美国圣何塞CN2线路VPS月付48元起/香港VPS月付59元起/香港E3独服月付499元起

Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...

触碰云高性价20.8元/月,香港云服务器,美国cn2/香港cn2线路,4核4G15M仅115.2元/月起

触碰云怎么样?触碰云是一家成立于2019年的商家。触碰云主营香港/美国 VPS服务器、独立服务器以及免备案CDN。采用的是kvm虚拟构架,硬盘Raid10,Cn2线路,去程电信CN2、移动联通直连,回程三网CN2。最低1核1G带宽1M仅20.8元/月,不过这里推荐香港4核4G15M,香港cn2 gia线路云服务器,仅115.2元/月起,性价比还是不错的。点击进入:触碰云官方网站地址触碰云优惠码:优...

delphi教程为你推荐
.cn域名cn域名和com域名有什么不同?哪个更好?好在哪里?杰景新特杰普特长笛JFL-511SCE是不是有纯银的唇口片??价格怎样??丑福晋八阿哥胤禩有几个福晋 都叫啥名儿呀网站检测请问,对网站进行监控检测的工具有哪些?杨丽晓博客杨丽晓今年高考了吗?www.bbb551.com广州欢乐在线551要收费吗?www.147.qqq.com谁有147清晰的视频?学习学习朴容熙这个网诺红人叫什么www.zzzcn.com哪里有免费看书的网站干支论坛查天干地支
中国十大域名注册商 中国万网虚拟主机 enzu raksmart softbank官网 68.168.16.150 哈喽图床 论坛空间 ibox官网 智能骨干网 网站cdn加速 91vps 国外代理服务器地址 电信虚拟主机 hktv 华为云服务登录 国外网页代理 免费网络空间 稳定空间 godaddy空间 更多