VB 在类中关于数组的传递

wangji666666 2009-06-01 05:00:19
在做个异步的程序(其实是个控件),当调用一个函数时,传递的是一些数组Public Function SendSMSUList(sTel() As String, sTex() As String) As Integer,此时这个函数立即返回(因为是异步的)。当这个程序真正处理结束后会触发一个事件,RaiseEvent AllSend,用户在这个事件中来查看刚才执行的结果,Result(),这个数组和前面的数组相对应,但是在这个程序中无法申明一个PUBLIC 的数组(例如Result()),有什么办法可以将这个结果集能返回给用户,用户能看到这个结果。
...全文
76 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangji666666 2009-06-02
  • 打赏
  • 举报
回复
VBToy说的对,谢谢!
VBToy 2009-06-02
  • 打赏
  • 举报
回复
在声明AllSend事件中加数组参数: public event AllSend(b() as string),用数组b传回数据。举例:
Public Event TestDone(v() As Integer)

Public Sub Test()
MsgBox "Done"
Dim c(2) As Integer
c(1) = 23
RaiseEvent TestDone(c)
End Sub
slowgrace 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangji666666 的回复:]
回2楼,标准模块中的PUBLIC Result(),在用控件访问时是不可见的(就是访问不到那个变量,不信可以试试看)
[/Quote]

哦 抱歉 我没做过控件。

那你是不是只好把结果放在外部数据库里,然后到外部数据库里去取结果了?不过这样的话,开销就大了。

对了,你这几个函数,分别都是放在什么模块里的?如果是处于同一个类模块,那么是不是可以用类模块中的公共变量?
wangji666666 2009-06-01
  • 打赏
  • 举报
回复
回2楼,标准模块中的PUBLIC Result(),在用控件访问时是不可见的(就是访问不到那个变量,不信可以试试看)
slowgrace 2009-06-01
  • 打赏
  • 举报
回复
在标准模块添加一个公共数组变量Result()。SendSMSUList执行完之后,把结果放到Result()里;AllSend事件发生时到Result()里取结果。
贝隆 2009-06-01
  • 打赏
  • 举报
回复
帮顶

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧