连接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的设备驱动程序多数函数需要一个地址参数作变量

华纳云不限流量¥324/年,香港双向CN2(GIA)云服务器/1核1G/50G存储/2Mbps

华纳云(HNCloud Limited)是一家专业的全球数据中心基础服务提供商,总部在香港,隶属于香港联合通讯国际有限公司,拥有香港政府颁发的商业登记证明,保证用户的安全性和合规性。 华纳云是APNIC 和 ARIN 会员单位。主要提供香港和美国机房的VPS云服务器和独立服务器。商家支持支付宝、网银、Paypal付款。华纳云主要面向国内用户群,所以线路质量还是不错的,客户使用体验总体反响还是比较好...

hostyun评测香港原生IPVPS

hostyun新上了香港cloudie机房的香港原生IP的VPS,写的是默认接入200Mbps带宽(共享),基于KVM虚拟,纯SSD RAID10,三网直连,混合超售的CN2网络,商家对VPS的I/O有大致100MB/S的限制。由于是原生香港IP,所以这个VPS还是有一定的看头的,这里给大家弄个测评,数据仅供参考!9折优惠码:hostyun,循环优惠内存CPUSSD流量带宽价格购买1G1核10G3...

云雀云(larkyun)低至368元/月,广州移动1Gbps带宽VDS(带100G防御),常州联通1Gbps带宽VDS

云雀云(larkyun)当前主要运作国内线路的机器,最大提供1Gbps服务器,有云服务器(VDS)、也有独立服务器,对接国内、国外的效果都是相当靠谱的。此外,还有台湾hinet线路的动态云服务器和静态云服务器。当前,larkyun对广州移动二期正在搞优惠促销!官方网站:https://larkyun.top付款方式:支付宝、微信、USDT广移二期开售8折折扣码:56NZVE0YZN (试用于常州联...

delphi教程为你推荐
京沪高铁上市首秀京沪高铁怎么老是出问题?高铁的核心技术是中国自己的吗?商标注册流程及费用注册商标的程序及费用?嘉兴商标注册我在濮院想注册一个羊毛衫商标?该怎么做?百度关键词价格查询百度推广关键词怎么扣费?陈嘉垣反黑阿欣是谁演的 扮演者介绍网站检测请问论文检测网站好的有那些?javmoo.comjavbus上不去.怎么办抓站工具大家在家用什么工具练站?怎么固定?面壁思过?在医院是站站立架广告法请问违反了广告法,罚款的标准是什么dadi.tvapple TV 功能介绍
域名备案只选云聚达 linuxapache虚拟主机 日本软银 新加坡主机 香港vps99idc 哈喽图床 亚洲小于500m 中国电信测速112 免费申请个人网站 vip域名 idc查询 免费mysql数据库 国外的代理服务器 秒杀品 iki 114dns 睿云 linux服务器系统 linuxvi 饭桶 更多