如何调用VC建立的DLL:smeidll.dll ( 积分: 100 )

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

shipinjing

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用Dephi調用VC建立的smeidll
在調用 IFInitInterface時總時出錯
BOOL WINAPI IFInitInterface(DWORD dwCodeProtocol, DWORD dwDriverProtocol, LPCTSTR pDriverParam)
BOOL WINAPI Login_R(LPCTSTR SystemID, LPCTSTR Password);
以上兩個API怎麼樣調用
 
我想用Dephi調用VC建立的smeidll
在調用 IFInitInterface時總時出錯
BOOL WINAPI IFInitInterface(DWORD dwCodeProtocol, DWORD dwDriverProtocol, LPCTSTR pDriverParam)
BOOL WINAPI Login_R(LPCTSTR SystemID, LPCTSTR Password);
以上兩個API怎麼樣調用
 
申明如下:
function IFInitInterface(a, b: DWORD; c: PChar): Boolean; stdcall external 'smeidll.dll' name 'IFInitInterface';
另一个参考上面
 
這樣調用出現內存錯誤
我的調用
function IFInitInterface cp,dp:Cardinal;driverparam:PChar):Bool;stdcall;External'smeidll.dll'
這是為甚麼
 
我是這樣調用的
function IFInitInterface(cp,dp:Cardinal;driverparam:PChar):Bool;stdcall;External'smeidll.dll'
運行時,內存錯誤
 
我刚才做了测试,觉得不是参数传递的错误。你把VC中的代码再看看。会不会是dll里面的错误。
 
华为的网关,呵呵. 我这样声明的没有出现什么问题(我连的是yd的cmpp2.0,如果你连的是其他的我就不知道了.我们的系统已经跑了很久了).function IFInitInterface1(dwCodeProtocol,dwDriverProtocol:integer;pDriverParam:Pchar):boolean;stdcall;external CMPPDLL name 'IFInitInterface'; 需要注意的可能就是pDriverParam一定要以null结尾. 建议用Pchar(string),否则手动设置null也可以.
 
我現在運行時沒有錯誤,但無法連接成功,是甚麼原因?
各位大俠幫幫忙吧
 
redwinner:
iRet:= SubmitAExEx(2,1,OrgAddr,2,1,DestAddr,0,0,0,0,0,8,0,'2005/04/20 14:00:00','2005/04/20 18:00:00',0,0,length(UserData),'你好,我已經到達','',1,1,1,0,1,'',01,'','',1,'','','')
請問怎麼發不出去,你能否把它的參數顯示給我看看
多謝
 
Result := SubmitAExEx(2,1,PChar(@ppkg^.sOrgaddr[1]),
2,1,Pchar(@ppkg^.sDestaddr[1]),//PChar('13585543***'),
1,0,0,
0,0,15,
0,PChar(''),PChar(''),
0,0,ppkg^.UDLen,
PChar(@ppkg^.UserData[1]),PChar(''),
PChar(@ppkg^.byMsgID[1]),1,
1,0,
2,PChar(@ppkg^.sSPID[1]),PChar('01'),
PChar(''),PChar('000000'),ppkg^.byUserNum,
PChar(@ppkg^.sDestaddr[1]),PChar(@ppkg^.byMsgID[1]), @jieguo);
发不出去的原因应该在于你没有填写sSPID的值.
 
你没有华为CMPP3.0的白皮书吗?留个邮箱,我发给你。可以把我这边的代码也给你
 
多謝 l-vision
郵件地址 danny@avc.com.cn
 
接受答案了.
 
后退
顶部