procedure TForm1.Button15Click(Sender: TObject);
var
result:integer;
recvContent:PChar;
ss,tt : string;
//手机号 发送者附加号 接收者附加号 短信内容 时间 标识
procedure aa(mobile, senderaddi, recvaddi, ct , sd:PChar; flag:Pointer);stdcall;
var
f: integer;
begin
f := integer(Pointer(flag)^);
if(f = 1) then
tt := string(mobile);
ShowMessage(string(mobile) + ';' + string(senderaddi) + ';' + string(recvaddi)+';' +
string(ct) + ';' + StrPas(sd));
smessage := string(mobile);
end;
begin
try
result := _ReceiveSMSEx(PChar(Edit1.Text),@aa);
while (result = 2) do
result := _ReceiveSMSEx(PChar(Edit1.Text),@aa);
except
on exception do begin
end;
end;
if(result = 1) then
ShowMessage('接收短信成功')
else if(result = 101) then
ShowMessage('网络故障')
else if(result = 102) then
ShowMessage('其它故障')
else if(result = 0) then
ShowMessage('失败')
else if(result = 105) then
ShowMessage('参数指针为空')
else if(result = -1) then
ShowMessage('未知故障')
end;
各位大侠,在回调函数aa中,我如何把mobile值赋值给tt呢即tt := string(mobile);
var
result:integer;
recvContent:PChar;
ss,tt : string;
//手机号 发送者附加号 接收者附加号 短信内容 时间 标识
procedure aa(mobile, senderaddi, recvaddi, ct , sd:PChar; flag:Pointer);stdcall;
var
f: integer;
begin
f := integer(Pointer(flag)^);
if(f = 1) then
tt := string(mobile);
ShowMessage(string(mobile) + ';' + string(senderaddi) + ';' + string(recvaddi)+';' +
string(ct) + ';' + StrPas(sd));
smessage := string(mobile);
end;
begin
try
result := _ReceiveSMSEx(PChar(Edit1.Text),@aa);
while (result = 2) do
result := _ReceiveSMSEx(PChar(Edit1.Text),@aa);
except
on exception do begin
end;
end;
if(result = 1) then
ShowMessage('接收短信成功')
else if(result = 101) then
ShowMessage('网络故障')
else if(result = 102) then
ShowMessage('其它故障')
else if(result = 0) then
ShowMessage('失败')
else if(result = 105) then
ShowMessage('参数指针为空')
else if(result = -1) then
ShowMessage('未知故障')
end;
各位大侠,在回调函数aa中,我如何把mobile值赋值给tt呢即tt := string(mobile);
只是aa怎么个回调法没看出来
而且貌似回调函数不是这样的吧
function x:LRESULT;stdcall;这样才对。
这样设计挺奇怪!
procedure aa(mobile, senderaddi, recvaddi, ct , sd:PChar; flag:Pointer;var tt:string);stdcall;
var
f: integer;
begin
f := integer(Pointer(flag)^);
if(f = 1) then
tt := string(mobile);
ShowMessage(string(mobile) + ';' + string(senderaddi) + ';' + string(recvaddi)+';' +
string(ct) + ';' + StrPas(sd));
smessage := string(mobile);
end;