欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

vb转vf的参数设置

更新时间: 2014-01-05 02:27:08 责任编辑: Author_N1

 

求助:VB转VF的参数设置
试用了一个VB6的在短信猫上使用的控件Axalasunsms,连接和发送都没有问题,但读取不了短信。其中有一个读取短信的方法ReadMsg,其调用代码如下:

VB源码:
Private Sub Axalasunsms1_OnReceive(ByVal sender As System.Object, ByVal e As System.EventArgs) 
Handles Axalasunsms1.OnReceive
Dim sNo As String, sCon As String, sMsgCenterNo As String
Dim dSendTime As Date, lTimeZone As Integer
If Axalasunsms1.ReadMsg(sNo, sCon, sMsgCenterNo, dSendTime, lTimeZone) = 0 Then
      txtReceive.Text = dSendTime & "收到来自" & sNo & "的短信,短信中心号:" & sMsgCenterNo & "内容:" & sCon
End If
End Sub

我试着将其转为VF的一个“收取短信”按钮:
LOCAL sNo As String, sCon As String, sMsgCenterNo As String  &&短信来源号码,短信内容,短信中心号码
LOCAL dSendTime As Date, lTimeZone As Integer   &&发送短信时间,发送短信时区
sNo=''
sCon=''
sMsgCenterNo=''
dSendTime=DATETIME()
lTimeZone=0
IF thisform.olecontrol1.readMsg(@sNo,@sCon , @sMsgCenterNo, @dSendTime, @lTimeZone) = 0 
    thisform.text1.Value=sNo+sCon 
ELSE 
    thisform.text1.Value='no'         
ENDIF

一运行就提示:OLE 错误码:0x80020005:type mismatch

因连接和发送使用的都是传值参数,接收使用的是传址参数,怀疑是参数设置的问题,请高手指教,谢谢。

另外,查阅以往的帖子,知道十豆三老师也是使用短信猫,不知使用的是DLL还是OCX,是VF还是其它?若是VF,能给个例程吗?
--参考方法--
应该是这个参数的问题:dSendTime
你分别换成如下试:
日期型
字符型

再有,thisform.olecontrol1.readMsg( 这时候的智能提示你看一下每个参数类型。
--参考方法--
我使用的 sms.dll,不同的厂家的设备,接口也不一样,sml.dll 收短信的函数与你的不一样,相关代码:
'以下为 VB 代码:
'Sms_Receive函数说明如下:
'功能描述:接收指定类型的短信
'Sms_Type:短信类型(0:未读短信;1:已读短信;2:待发短信;3:已发短信;4:全部短信)
'Sms_Text:返回指定类型的短信内容字符串(短信内容字符串说明:短信与短信之前用"
--参考方法--
"符号作为分隔符,每条短信中间的各字段用"#"符号作为分隔符)

Public Declare Function Sms_Receive Lib "sms.dll" (ByVal Sms_Type As String, Sms_Text As String) As Long
Private Sub Sms_Receive_Button_Click()
Screen.MousePointer = vbHourglass
Sms_Receive_Button.Enabled = False
Dim ReceiveSmsStr As String
If Sms_Receive("4", ReceiveSmsStr) Then
   ReceiveSms_Text.Text = ReceiveSmsStr
End If
Sms_Receive_Button.Enabled = True

--参考方法--
如果你用的是 VFP8.0 或 9.0 有智能提示的。
readMsg 的说明你帖一下
--参考方法--
根据你的出错图片判断,你用的应该是 VFP6.0,所以没有智能提示。
--参考方法--
我也用的是 WAVECOM,但我没有用收短信功能,因为用不上。
而且有的短信猫不支持自动接收短信功能。
以下是 sms.frm 的内容:

VERSION 5.00
Begin VB.Form mainsms 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "短信收发二次开发接口例程源码(VB版)"
   ClientHeight    =   6630
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   9225
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   6630
   ScaleWidth      =   9225
   StartUpPosition =   3  '窗口缺省
   Begin VB.TextBox MobPort 
      Height          =   330
      Left            =   1050
      TabIndex        =   24
      Text            =   "0"
      Top             =   150
      Width           =   555
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:27:08
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/9942/
本文WWW.DOC100.NET DOC100.NET版权所有。