声明:
int WINAPI GetDeliverSMExEx(
ULONG* sm_ID, //返回:短讯ID
unsigned char* DestTON, //返回:目标地址号码类型
unsigned char* DestNPI, //返回:目标地址编码方案
char* DestAddr, //返回:目标地址
unsigned char* OrgTON, //返回:源地址号码类型
unsigned char* OrgNPI, //返回:源地址编码方案
char* OrgAddr, //返回:源地址
unsigned char* PRI, //返回:优先权
unsigned char* RP,
unsigned char* UDHI,
unsigned char* PID, //返回:协议类型
unsigned char* DCS, //返回:编码方案
char* TimeStamp, //返回:下发时间
unsigned long * UDLen,
char* UserData, //返回:用户数据
unsigned char* StatusReport //返回:状态报告标志,0表示不是状态报告,1:表示为状态报告
);调用:ULONG ulsm_ID;
char sDestAddr[MAX_ADDR_LEN];
memset(sDestAddr, 0, MAX_ADDR_LEN);
nsigned char byDestNPI;
ULONG ulsm_ID;
unsigned char byDestTON, byDestNPI, byOrgTON, byOrgNPI, byPRI, byPID, byDCS;
char sDestAddr[MAX_ADDR_LEN];
memset(sDestAddr, 0, MAX_ADDR_LEN);
char sOrgAddr[MAX_ADDR_LEN];
memset(sOrgAddr, 0, MAX_ADDR_LEN);
char sTimeStamp[MAX_TIMESTAMP_LEN];
memset(sTimeStamp, 0, MAX_TIMESTAMP_LEN);
char sUserData[MAX_UD_LEN];
memset(sUserData, 0, MAX_UD_LEN);int iRet;
unsigned char byRP;
unsigned char byUDHI;
unsigned long ulUDLen;
unsigned char byStatusReport = 0;
iRet = GetDeliverSMExEx(&ulsm_ID, &byDestTON, &byDestNPI, sDestAddr, &byOrgTON,
&byOrgNPI, sOrgAddr, &byPRI, &byRP, &byUDHI, &byPID, &byDCS,
sTimeStamp, &ulUDLen, sUserData, &byStatusReport);
if(iRet == 0)
{
CString sGetData;
sGetData.Format("接收成功!\n接受到数据:%s", sUserData);
MessageBox(sGetData,MB_OK,0); }
else
MessageBox("接收失败!",MB_OK,0);
int WINAPI GetDeliverSMExEx(
ULONG* sm_ID, //返回:短讯ID
unsigned char* DestTON, //返回:目标地址号码类型
unsigned char* DestNPI, //返回:目标地址编码方案
char* DestAddr, //返回:目标地址
unsigned char* OrgTON, //返回:源地址号码类型
unsigned char* OrgNPI, //返回:源地址编码方案
char* OrgAddr, //返回:源地址
unsigned char* PRI, //返回:优先权
unsigned char* RP,
unsigned char* UDHI,
unsigned char* PID, //返回:协议类型
unsigned char* DCS, //返回:编码方案
char* TimeStamp, //返回:下发时间
unsigned long * UDLen,
char* UserData, //返回:用户数据
unsigned char* StatusReport //返回:状态报告标志,0表示不是状态报告,1:表示为状态报告
);调用:ULONG ulsm_ID;
char sDestAddr[MAX_ADDR_LEN];
memset(sDestAddr, 0, MAX_ADDR_LEN);
nsigned char byDestNPI;
ULONG ulsm_ID;
unsigned char byDestTON, byDestNPI, byOrgTON, byOrgNPI, byPRI, byPID, byDCS;
char sDestAddr[MAX_ADDR_LEN];
memset(sDestAddr, 0, MAX_ADDR_LEN);
char sOrgAddr[MAX_ADDR_LEN];
memset(sOrgAddr, 0, MAX_ADDR_LEN);
char sTimeStamp[MAX_TIMESTAMP_LEN];
memset(sTimeStamp, 0, MAX_TIMESTAMP_LEN);
char sUserData[MAX_UD_LEN];
memset(sUserData, 0, MAX_UD_LEN);int iRet;
unsigned char byRP;
unsigned char byUDHI;
unsigned long ulUDLen;
unsigned char byStatusReport = 0;
iRet = GetDeliverSMExEx(&ulsm_ID, &byDestTON, &byDestNPI, sDestAddr, &byOrgTON,
&byOrgNPI, sOrgAddr, &byPRI, &byRP, &byUDHI, &byPID, &byDCS,
sTimeStamp, &ulUDLen, sUserData, &byStatusReport);
if(iRet == 0)
{
CString sGetData;
sGetData.Format("接收成功!\n接受到数据:%s", sUserData);
MessageBox(sGetData,MB_OK,0); }
else
MessageBox("接收失败!",MB_OK,0);
解决方案 »
- 主程序 调用 dll 返回 record 出错
- 在函数中创建 TXMLDocument 的问题
- 急求<<Delphi串口通信技术与工程实践>> \《delphi串口通信编程》电子书
- 对话框问题
- 如何建立管理文件的数据库?
- 请问怎么样把图片文件存储到数据库中?
- 如何获得datagrid的当前行号
- 求救delphi里面的socket的问题,如何传送数组如"类型为2字节的无符号整数"
- 见鬼了!我的delphi为什么不能用了?
- 怎么判断TEdit控件所输入的字符是数字还是字母?
- 分享一下:不久前写的不用try...except判断一个指针或对象是否有效的极简单代码,也许对你有帮助
- ADOQUERY帮帮忙。
char sDestAddr[MAX_ADDR_LEN];
memset(sDestAddr, 0, MAX_ADDR_LEN);
nsigned char byDestNPI;
*/这一段是多余的,还有,上面的回复也是多余的,本来应该是回复到这里的
http://community.csdn.net/Expert/topic/4461/4461142.xml?temp=.3908502
DestTON: PUChar;
DestNPI: PUChar;
DestAddr: PChar;
OrgTON: PUChar;
OrgNPI: PUChar;
OrgAddr: PChar;
PRI: PUChar;
RP: PUChar;
UDHI: PUChar;
PID: PUChar;
DCS: PUChar;
TimeStamp: PChar;
UDLen: PDWORD;
UserData: PChar;
StatusReport: PUChar): Integer stdcall; external 'XXXX.dll';
var
ulsm_ID:LongInt; byDestTON, byDestNPI, byOrgTON, byOrgNPI, byPRI, byPID, byDCS : Char; sDestAddr:array[0..MAX_ADDR_LEN-1]of Char;
sOrgAddr:array[0..MAX_ADDR_LEN-1]of Char;
sTimeStamp:array[0..MAX_TIMESTAMP_LEN-1]of Char;
sUserData:array[0..MAX_UD_LEN-1]of Char; byRP:UChar;
byUDHI:UChar;
ulUDLen:LongInt;
byStatusReport:UChar; iRet:Integer;
beginIF HasDeliverMessage(MAX_WRITE_TIME)=0 then
begin
byStatusReport:=0;
iRet:=GetDeliverSMExEx(@ulsm_ID,
@byDestTON,
@byDestNPI,
sDestAddr,
@byOrgTON,
@byOrgNPI,
sOrgAddr,
@byPRI,
@byRP,
@byUDHI,
@byPID,
@byDCS,
sTimeStamp,
@ulUDLen,
sUserData,
@byStatusReport); IF iRet=0 then
begin
showmessage('成功');
memo1.Lines.Add(sUserData);
end;