TC官方合作论坛

 找回密码
 立即注册
查看: 3423|回复: 8

[其他] 关于VB写插件的疑问,求大神解答

[复制链接]
发表于 2012-6-25 15:19:08 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用VB写插件,有没有办法实现直接修改参数的值呢?
我用byref的话没效果..都是返回0
比如:  public function Add(byval a as int...,byval b as int...,byref c as int..)
                           c=a+b
          end funciont

  TC调用  插件.Add(5,15,X)     
想要的结果应该是:  X=20.   但事实上X=0

比如:  public function Add(byval a as int...,optional byval b as int..=10)
                          Add=a+b
          end funciont

想要的应该是:TC调用 插件.Add(5)   返回15  ,但是在TC中却必须写上2个参数,否则提示参数不匹配.这样 optional就失去了意义..


求解..
回复

使用道具 举报

发表于 2012-6-25 17:05:21 | 显示全部楼层
Public Function Add(ByVal x As Integer, ByVal y As Integer) As Integer
Add=x+y
End Function



用这个 求采纳
回复 支持 反对

使用道具 举报

发表于 2012-6-25 17:11:26 | 显示全部楼层
Public Function 消息框(ByVal 内容 As String) As String
MsgBox 内容
End Function
Public Function 加法(ByVal X As Long, ByVal Y As Long) As Long
加法 = X + Y
End Function
Public Function 减法(ByVal X As Long, ByVal Y As Long) As Long
减法 = X - Y
End Function
Public Function 乘法(ByVal X As Long, ByVal Y As Long) As Long
乘法 = X * Y
End Function
Public Function 除法(ByVal X As Long, ByVal Y As Long) As Long
除法 = X / Y
End Function

这是我写的一个 运算加减乘除和弹出消息框的插件
没有技术含量  呵呵
回复 支持 反对

使用道具 举报

发表于 2012-6-25 17:55:33 | 显示全部楼层
TC调用时你的参数过多,在VB中的写法也不对
  public function Add(byval a as int...,byval b as int...,byref c as int..) ad integer
                          add=a+b
          end funciont

到TC中调用就是
add(参数1,参数2)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-25 18:31:22 | 显示全部楼层
你们都没明白偶的意思啊-.-

拿大漠做个比方吧;
整型 X,Y
dm.GetCursorPos(X,Y)
当我们调用这个函数.TC中整型的X,Y就会得到改变...

而我们用VB写,一般都只能通过返回值来得到我们想要的,难道无法通过传地址(byRef)来直接修改参数的值吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-25 18:33:28 | 显示全部楼层
回复 4楼落幕的帖子

public function Add(byval a as int...,byval b as int...,byref c as int..) ad integer  //int..是整型定义,只不过我省略了,偷懒
            c=a+b            
          end funciont

这种写法如果同样在vb调用是:
dim x as int...
    Add(13,15,x)
msgbox x   'x =28   //通过byref直接修改参数的值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-27 17:34:13 | 显示全部楼层
为什么 同样是 PVOID 参数,大漠调用成功,VB却失败~~~

求VB传址方法..
回复 支持 反对

使用道具 举报

发表于 2012-11-25 09:25:16 | 显示全部楼层
呃。。。。
回复 支持 反对

使用道具 举报

发表于 2014-8-26 11:39:43 | 显示全部楼层
这个肯定是要支持的额
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-7 03:21 , Processed in 0.036842 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表