PB调用vb写的DLL不成功,返回的字符串不全
=========================
注:该DLL文件是特制的,制作流程如下:
1:打开VB6,新建标准exe工程,工程菜单>>移除Form1,添加一个标准模块如Module1.bas,首先向其中写入DLL的入口代码
Function DLLMain(ByVal hInstDLL As Long, ByVal fdwReason As Long, ByVal lpwReserved As Long) As Long
DLLMain = 1
End Function
Sub Main()
'确保VB能编译
End Sub
2:向Module1.bas中写入自定义函数代码
Function GetIPAddress() As string '这个GetIPAddress函数是没有参数的(各位解题的时候最好是带参数的)
GetIPAddress = "host"
End Function
编写好代码后,保存工程,生成特制的Project1.dll文件。(其实就是靠 vb_DLL_link 这个文件生成DLL的)
=============================
PB9全局函数声明:
Public Function string GetIPAddress() Library "Project1.dll" Alias For "GetIPAddress"
---------------------
窗口OPEN事件代码:
string a
a = space(255) //开辟内存空间与不开辟一样的效果
a = GetIPAddress()
messagebox("",a) //只显示返回字符串里的第一个字符,无法显示全部字符串
=========================
这个GetIPAddress函数是没有参数的,各位解题的时候最好是带字符串型的参数,而且在此函数里能调用windows api函数
望各位多多指教,先谢过各位了。
------解决方案--------------------
如果是PB10以下版本,调用方法没有错,是dll的问题,在VB版本去发试试吧。