在vb中调用类库出错,我的调用是这样的。求教各位大虾。急。。。。。 ( 积分: 50 )

  • 主题发起人 主题发起人 slb302
  • 开始时间 开始时间
S

slb302

Unregistered / Unconfirmed
GUEST, unregistred user!
我在delphi中是这样定义的
procedure AssembleOutSMS(const pSIMNum,pContent:PChar;const iDataCoding:integer;
pRawData:PChar;var iPDULen:integer);stdcall;
external 'PDUsms.DLL';
在delphi中是这样调用的。通过
var
sSIMNum,sContent:string;
iPDULen,iDataCoding:integer;
pSMSSendData:array[0..400] of Char;
begin
AssembleOutSMS(PChar(sSIMNum),PCha(sContent),iDataCoding,@pSMSSendData,iPDULen);
end
这样调用通过。
我现在在vb中要调用:'PDUsms.DLL'
我是这样声明的
Declare Sub AssembleOutSMS Lib "PDUsms.dll"
(ByRef pSIMNum As Byte, ByRef pContent As Byte, ByVal iDataCoding As Integer, ByRef pRawData As Byte, ByVal iPDULen As Integer)
我是这样调用的:
dim psimnum() as byte
dim pcontent() as byte
dim pSMSSendData(400) as byte
.....
redim psimnum(...)
redim pcontent(...)
AssembleOutSMS psimnum(0),pcontent(0),iDataCoding,pSMSSendData(0),iPDULen
可是程序运行到这里自动退出
请问各位大虾我该怎么做。
急!!!!!!!!!!!!!!!!!!!!!!!!!
 
我在delphi中是这样定义的
procedure AssembleOutSMS(const pSIMNum,pContent:PChar;const iDataCoding:integer;
pRawData:PChar;var iPDULen:integer);stdcall;
external 'PDUsms.DLL';
在delphi中是这样调用的。通过
var
sSIMNum,sContent:string;
iPDULen,iDataCoding:integer;
pSMSSendData:array[0..400] of Char;
begin
AssembleOutSMS(PChar(sSIMNum),PCha(sContent),iDataCoding,@pSMSSendData,iPDULen);
end
这样调用通过。
我现在在vb中要调用:'PDUsms.DLL'
我是这样声明的
Declare Sub AssembleOutSMS Lib "PDUsms.dll"
(ByRef pSIMNum As Byte, ByRef pContent As Byte, ByVal iDataCoding As Integer, ByRef pRawData As Byte, ByVal iPDULen As Integer)
我是这样调用的:
dim psimnum() as byte
dim pcontent() as byte
dim pSMSSendData(400) as byte
.....
redim psimnum(...)
redim pcontent(...)
AssembleOutSMS psimnum(0),pcontent(0),iDataCoding,pSMSSendData(0),iPDULen
可是程序运行到这里自动退出
请问各位大虾我该怎么做。
急!!!!!!!!!!!!!!!!!!!!!!!!!
 
ByVal iPDULen As Integer 应为
ByRef iPDULen As Integer 吧
 
通过了谢谢你啊
不过我不知道AssembleOutSMS psimnum(0),pcontent(0),iDataCoding,pSMSSendData(0),iPDULen
这样写对不对啊 比如psimnum(0) 数组有十个元素,我这样只写第一个元数对吗?
你帮我分析一下,谢谢了啊
 
后退
顶部