函数声明
  function SubmitA(OrgTON,OrgNPI:Byte;
    OrgAddr:PChar; DestTON,DestNPI:Byte;
    DestAddr:PChar; PRI,RD,RP,SRR,MR,DCS,PID:Byte;
    Schedule:PChar; Expire:PChar;
    Default_ID:DWORD; UDHI:Byte; UDLen:DWORD;
    UserData:PChar; SM_ID:pLongWord; FCS:PByte):integer;
    stdcall;external 'SMEIDll.dll';发送函数
function TForm1.SendOneMessage:Integer;
var
    ls_orgton,
    ls_orgnpi:Byte;
    ls_orgaddr:PChar;
    ls_destton:Byte;
    ls_destnpi:Byte;
    ls_destaddr:PChar;
    ls_pri,
    ls_rd,
    ls_rp,
    ls_srr,
    ls_mr:Byte;
    ls_dcs,
    ls_pid:Byte;
    ls_default_id:DWORD;
    ls_udhi:Byte;
    ls_userdata:PChar;
    ls_udlen:Dword;
    sendmsg :Integer;
    ls_schedule,
    ls_expire:PChar;
    ls_sm_id:DWORD;
    ls_fcs :Byte;
    //FCS:Byte;
begin
    ls_orgton:=2;
    ls_orgnpi:=1;
    ls_orgaddr:='12345'; //服务号码此为假号
    ls_destton:=2;
    ls_destnpi:=1;
    ls_destaddr:='139????????';
    ls_pri:=0;
    ls_rd:=0;
    ls_rp:=0;
    ls_srr:=0;
    ls_mr:=0;
    ls_dcs:=15;
    ls_pid:=0;
    ls_default_id:=0;
    ls_udhi:=0;
    ls_userdata:='ssssssssssssssssssssss!';
    ls_udlen:=Length(ls_userdata);
    sendmsg:=SubmitA(ls_orgton,ls_orgnpi,ls_orgaddr,ls_destton,
        ls_destnpi,ls_destaddr, ls_pri,ls_rd,ls_rp,ls_srr,ls_mr,
        ls_dcs,ls_pid,ls_schedule,ls_expire,ls_default_id,
        ls_udhi,ls_udlen,ls_userdata,
        @ls_sm_id,@ls_fcs);
    ShowMessage(IntToStr(ls_sm_id)+' '+Inttostr(ls_sm_id));
    result := sendmsg;
end;
SubmitA返回结果 ls_sm_id =0 and ls_fcs = 0,并且初始化和登录均已成功!
谁做过这方面的,快告诉我啊,只剩两天解决时间了

解决方案 »

  1.   

    function  SubmitA(OrgTON : ShortInt; OrgNPI :ShortInt; OrgAddr :PChar; DestTON :ShortInt; DestNPI :ShortInt; DestAddr :PChar; PRI :ShortInt; RD :ShortInt; RP :ShortInt; SRR :ShortInt; MR :ShortInt; DCS :ShortInt; PID :ShortInt; Schedule :PChar; Expire :PChar; Default_ID :LongWord; UDHI :ShortInt; UDLen :LongWord; UserData :PChar; var SM_ID : longword; FCS :shortInt):integer;stdCall external 'SMEIDLL.DLL';把函数定义换成这个试试
      

  2.   

    另外,你怎么用这个函数?这个是smpp协议的
      

  3.   

    这个函数是SMEIDll.dll中提供的一个api不是cmpp中的那个
    现在问题找到了,气死我了,原来是程序执行目录下少了一个SMEIDll.ini由于时间紧,没有仔细看说明文档,找了个pb的例子照搬的,总是不成功,最后把例子下的文件全部拷到我的目录下就OK了,才找出问题
    我的函数声明没有问题,也可以用
    cjf我好像在cu上见过你,是不是那个呢?