如何获取DLL文件函数传回CHAR指针类型的字符串
通过调一个VC编译好的DLL文件.里面有一个函数传回的是CHAR指针类型的字符串.如果在VB用STRING的话就是一些数字(应该是指针地址吧).不知如何取出其中的字符串.请高手赐教 问题点数:20、回复次数:5Top
1 楼province_(雍昊)回复于 2006-02-17 19:23:31 得分 10
它传回的其实就是一个地址(LONG型),但用VB的难点是你不知道串的长度,通融一下的做法是假设其最大长度不可能超过X,则你可以先开个数组(长度X,类型BYTE),用COPYMEMORY来接收数据,收下之后用STRCONV来把数组内容转为UNICODE编码的串。此时串的内容就是DLL想传的串的内容了。缺点是X开得太大则浪费空间,太小则溢出。Top
2 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2006-02-17 23:13:32 得分 10
ByVal …… As String对于API声明有特殊意义的:将VB的String转为char *,再调用该函数,调用完后又将char*转回String
所以你只需事先为String分配好空间就行
Top
3 楼sequh(夏克)回复于 2006-02-18 00:24:23 得分 0
他星星多,听他的吧Top
4 楼junki(『.NET技术争霸天下』)回复于 2006-02-18 09:02:38 得分 0
可比较API在VC和VB中的声明函数.Top
5 楼crystall(流星凡尘)回复于 2006-03-01 15:16:42 得分 0
是參數還是函數返回值Top




