当前位置: 代码迷 >> PB >> PB调用vb写的DLL不成功,返回的字符串不全,该怎么解决
  详细解决方案

PB调用vb写的DLL不成功,返回的字符串不全,该怎么解决

热度:135   发布时间:2016-04-29 09:20:53.0
PB调用vb写的DLL不成功,返回的字符串不全
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版本去发试试吧。
  相关解决方案