关于字符串数组 为什么我在vs2005的vb环境下定义一个字符串数组就没问题 ByVal path() As String 而在vb6.0下这样定义却提示“数组参数必须为ByRef" 我要在vb6.0下通过,该怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ByVal path() As String 改为定义为byval Path 不行啊,我用vc写的dll里定义这个函数参数为BSTR path[],现在要在vb里调用,应该怎么转化?我在vs2005的vb下定义为参数ByVal path() As String,运行没问题但在vb6.0下却提示”数组参数必须为ByRef“,应该怎么办? VB2005和VB6是完全不一样的,怎么比?VB6中数组参数必须为ByRef 哪有什么费劲的,用byref方式传不就行了 问题是用byref出错啊,好像没有正确传进去 有两点必须知道:1. vb里的数组是“安全数组”(SAFEARRAY)2. vb里的字符串是BSTR,而且使用OLEAUT32来管理的如果在vb里定义:Public Declare sub TestString Lib "my.dll" (ByRef a() As String) 那么传递过去的是 SAFEARRAY** ppsa (指针的指针,好奇怪呀!我也不知为啥如此),在vc里也必须是SAFEARRAY,然后对这个数组进行“修改”(因为是传址,所以相当于从vc传回到vb了),具体用法还是查一下API为好,因为里面很长在这贴不了那么多。 你可以使用ByVal path As Variant你只要知道你要传什么参数就可以 BSTR path[] 其实就是一个 BSTR*,所以Declare sub X ... (Byref path as string, ...)'调用dim path() as stringX path(0), ... 高分求解释代码(网卡流量监控)(代码不多) 急啊.大虾请吧.求一存储过程 vb6.0的data控件怎么不能像.net里一样连接excel,vb6.0里用datagrid怎么成批显示excel数据? 请诸位高手,帮个忙,给小弟指点一下, 关于发送获得焦点的消息 请问如何将其他如ACCESS,SQL SERVER的表转换成DBF格式的表! ole 拖放问题 能否使在启动组里看不到我的程序,但在启动时能运行我的程序 [Word已经打开,VB拒绝打开操作] 200分简单问题。请帮帮忙!!!! 奇怪现象:access数据库数据更新问题 判断一个字符串是否在数据内的问题?
我在vs2005的vb下定义为参数ByVal path() As String,运行没问题
但在vb6.0下却提示”数组参数必须为ByRef“,应该怎么办?
VB6中数组参数必须为ByRef
有两点必须知道:
1. vb里的数组是“安全数组”(SAFEARRAY)
2. vb里的字符串是BSTR,而且使用OLEAUT32来管理的
如果在vb里定义:
Public Declare sub TestString Lib "my.dll" (ByRef a() As String)
那么传递过去的是 SAFEARRAY** ppsa (指针的指针,好奇怪呀!我也不知为啥如此),
在vc里也必须是SAFEARRAY,然后对这个数组进行“修改”(因为是传址,所以相当于从vc传回到vb了),
具体用法还是查一下API为好,因为里面很长在这贴不了那么多。
ByVal path As Variant你只要知道你要传什么参数就可以
Declare sub X ... (Byref path as string, ...)'调用
dim path() as string
X path(0), ...