接口函数 char **_GetAddress(char *IP)char **p=_GetAddress(char *IP)那么*P指向省市,*(P+1)指向详细,*(P+2)指向提供者在VB中如何声明呢?
解决方案 »
- 如何判断RichTextBox是否输入满了?
- 让我百思不得其解的数据链接。
- 考勤排班的问题
- 在ActiveX中如何动态产生控件!!在线等!!
- 怎么样用程序直接打开后缀名为.msg的OUTLOOK文件?
- 如何用vb停止和开始mssql服务
- 关于VB于SQL的局域网连接,快帮帮我吧!
- 怎样实现win2000自动关机,不是在win9x或winnt4.0! 请指示,给出原代码,谢谢!给31分哦!
- 今天CET6考得不好:(
- 我已经将richtextbox的scrollbars属性设为3-rtfboth了,为什么没有水平滚动条?
- ~~~呜 俺出错啦,大虾 帮帮 俺 不能加载控件 Adodc2; 许可证未找到。
- 关于读INI的问题(在线等候)
上面的函数返回值是双指针类型的耶~
我们该怎么或者返回的3个值呢?不能用单一的byref了吧。
private declare function GetAddress lib "" alias "_GetAddress" (byval IP as string) as longPrivate Declare Function lstrlenA Lib "kernel32" (ByVal lpString As Long) As Long
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As LongPrivate Declare Function lstrcpyA Lib "kernel32" (ByVal lpString1 As Long, ByVal lpString2 As Long) As Long
Private Declare Function lstrcpyW Lib "kernel32" (ByVal lpString1 As Long, ByVal lpString2 As Long) As Longprivate sub form_load
dim p as long
dim u as long
u=lenb(p)'一个单位长度
p=GetAddress ("210.33.88.1")
'*P指向省市,*(P+1)指向详细,*(P+2)指向提供者
dim 省市 as string,详细 as string,提供者 as string
省市=strfromptr(p)
详细=strfromptr(p+1*u)
提供者=strfromptr(p+2*u)
'...
end subPublic Function StrFromPtr(ByVal lpString As Long, Optional fUnicode As Boolean = False) As String
On Error Resume Next
If fUnicode Then
StrFromPtr = String(lstrlenW(lpString), Chr(0))
lstrcpyW StrPtr(StrFromPtr), ByVal lpString
Else
StrFromPtr = String(lstrlenA(lpString), Chr(0))
lstrcpyA ByVal StrFromPtr, ByVal lpString
End If
End Function