在unit中声明:function CMPP3Submit;external 'SMEIDLL.DLL' name 'CMPP3Submit';
然后在 unit2的 btn1的onclick中调用:cmpp3submit OK,没问题:
但是把 CMPP3Submit 写到 cmppsub函数中,再从 btn1的 onclick中调用 cmppsub
则dll报错,为什么?
也就是说,直接调用OK,间接调用就出错
注:CMPP3Submit带有二十多个参数,我省略了
然后在 unit2的 btn1的onclick中调用:cmpp3submit OK,没问题:
但是把 CMPP3Submit 写到 cmppsub函数中,再从 btn1的 onclick中调用 cmppsub
则dll报错,为什么?
也就是说,直接调用OK,间接调用就出错
注:CMPP3Submit带有二十多个参数,我省略了
则dll报错,你没写出是什么的错,无法判断可能你的 cmppsub 没有引用 dll 声明的unit最大可能是你参数输入错了
0048ED30
yeszq:我是分两部份声明的:
在 interface 部份
function CMPP3Submit(byPKTotal:char;
byPKNumber:Char;
SRR:Char;
byMsgLevel: Char;
ServiceSubType: PChar;
byFeeUserType: Char;
sFeeAddr: PChar;
byFeeTerminalType:Char;
PID: Char;
Default_ID: LongWord;
UDHI:Char;
DCS: Char;
sSPID:PChar;
sFeeType: PChar;
sFeeCode: PChar;
Schedule: PChar;
Expire: PChar;
OrgAddr: PChar;
byUserNum: Char;
sDestAddrs: PChar;
byDestTerminalType: Char;
UDLen: longWord;
UserData: PChar;
sLinkID: PChar;
byMsgID: PChar): Integer; stdcall;这是函数说明(参数有点多,呵呵)在 implementation 部份 function CMPP3Submit; external 'SMEIDLL.DLL' name 'CMPP3Submit';
这是外部函数声明
function CMPP3Submit(byPKTotal:char;
byPKNumber:Char;
SRR:Char;
byMsgLevel: Char;
ServiceSubType: PChar;
byFeeUserType: Char;
sFeeAddr: PChar;
byFeeTerminalType:Char;
PID: Char;
Default_ID: LongWord;
UDHI:Char;
DCS: Char;
sSPID:PChar;
sFeeType: PChar;
sFeeCode: PChar;
Schedule: PChar;
Expire: PChar;
OrgAddr: PChar;
byUserNum: Char;
sDestAddrs: PChar;
byDestTerminalType: Char;
UDLen: longWord;
UserData: PChar;
sLinkID: PChar;
byMsgID: PChar): Integer; stdcall;external 'SMEIDLL.DLL' name 'CMPP3Submit'這樣聲明TRY下,注意是靜態調用.在 implementation 部份