讨论VB.NET简单数据类型

在向大家详细介绍VB.NET简单数据类型之前,首先让大家了解下某些DLL过程的同一个参数能够接受多种数据类型,然后全面介绍VB.NET简单数据类型。

网站设计制作过程拒绝使用模板建站;使用PHP+MYSQL原生开发可交付网站源代码;符合网站优化排名的后台管理系统;网站建设、成都网站建设收费合理;免费进行网站备案等企业网站建设一条龙服务.我们是一家持续稳定运营了十余年的创新互联公司网站建设公司。

某些DLL过程的同一个参数能够接受多种数据类型。如果需要传递多种类型的数据,可 以将参数声明为AsAny,从而取消类型限制。例如,下面的声明中的第三个参数(lpptAsAny) 既可以传递一个POINT结构的数组,也可以传递一个RECT结构:

 
 
 
  1. Declare Function MapWindowPoints Lib "user32" Alias _  
  2. "MapWindowPoints" (ByVal hwndFrom As Long, _  
  3. ByVal hwndTo As Long, lppt As Any, _  
  4. ByVal cPoints As Long) As Long 

AsAny子句提供了一定的灵活性,但是,由于它不进行任何的类型检查,风险也随之增 加。因此在使用AsAny子句时,必须仔细检查所有参数的类型。

正确的函数声明是在VB中调用动态连接库的前提,但要想在VB中用对、用好动态库中的函数,仅仅有声明还是远远不够的。前面已经说过,由于VB不能验证应用程序传递到动态连接库中的参数值是否正确,因此就要求程序员应对参数类型有非常详细的了解,否则很容易引起应用程序发生通用保护错或导致潜在的Bug,降低软件的可靠性。

VB.NET简单数据类型

VB.NET简单数据类型是指Numeric数据类型(包括Integer、Long、Single、Double、Currency类型)、Byte数据类型和Boolean数据类型。它们的共同的特点是结构简单,操作系统在处理时不必进行特殊的转换。

VB.NET简单数据类型参数的传递比较简单。我们知道,在VB中传递参数的方式有两种:传值(Byval) 和传址(ByRef),缺省的方式是传址。所谓传值,就是对一个变量的具体值进行传递;而传址则是传递变量的地址。例如,在VB程序中需要将一个整型变量m=10的值传进动态库,如果用传值方式,那么传进动态库的值就是10,而在传址方式下,传入的则是变量m的地址,相当于C/C++ 中&m的值。需要注意的是,以传值方式传进动态连接库的变量,其值在动态库中是不能被改变的;如果需要在动态连接库中修改传入参数的值,则必须使用传址方式。一般来说,在VB 和动态连接库之间传递单个的VB.NET简单数据类型,只要注意了以上几个方面就可以了。当需要将一个VB.NET简单数据类型的整个数组传进动态库时,必须将相应参数声明为传址方式,然后把数组的第一个元素作为参数传入,这样在动态连接库中就得到了数组的首地址,从而可以对整个数组进行访问。例如,声明了一个名为ReadArray的DLL过程,要求传入一个整型数组aArray:

 
 
 
  1. Declare Function ReadArray Lib "mydll.dll" _  
  2. (aArray As Integer) As Integer  
  3. 在调用时可以采用如下方式:  
  4. Dim ret,I(5) as Integer  
  5. … …  
  6. ret = ReadArray(I(0)) ' 

新闻名称:讨论VB.NET简单数据类型
标题路径:http://www.gawzjz.com/qtweb2/news44/1344.html

成都网站建设公司_创新互联,为您提供python网站设计营销型网站建设品牌网站制作建站公司面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联