正在阅读:API中VB字符串作参数传递的本质论API中VB字符串作参数传递的本质论

2004-04-27 10:02 出处:CSDN 作者:chenyu5188 责任编辑:linjixiong


  采用传值方式传递时实际上传递的是实参中所存放的字符串的首地址,当调用过API后,可以通过它来返回数据,API修改传送给它的那个地址所指向的字符串数据,而没有修改实参字符变量内的内容,所以可以返回数据。即并没有与高级语言中所规定的传值方式调用方式的形参改变不影响实参的规则相冲突。

  实例:

  模块中的代码:

  Option Explicit

  Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

  窗体中的代码:

  Option Explicit

  Private Sub Command1_Click()

   Dim str As String

   Dim str1 as String

   Dim length As Long

   length = 255

   str = String(length, 0)

   str1=str

   Debug.Print VarPtr(str),”     “,varptr(str1)

   Debug.Print StrPtr(str),”      ”,strptr(str1)

   Debug.Print

   GetComputerName str, length

   Debug.Print str

   Debug.Print VarPtr(str)

   Debug.Print StrPtr(str), Len(str), length


察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品