var
   result:integer;
   recvContent:PChar;
   procedure aa(mobile, senderaddi, recvaddi, ct,sd:PChar; flag:Pointer);stdcall;
  var
   f: integer;
  begin
    f := integer(Pointer(flag)^);
   with QryReceiveSms do
    begin
       Close;
       Open;
       Insert;
       FieldValues['手机号']:=String(mobile);
       Post;
    end;
  // ShowMessage(inttostr(f));
 //   ShowMessage(string(mobile) + ';' + string(senderaddi) + ';' + string(recvaddi) +
 //    ';' + string(ct) + ';' + string(sd));
  end;
begin
result := _ReceiveSMS(PChar(OrderNo),@aa);
  while (result = 2) do
    result := _ReceiveSMS(PChar(OrderNo),@aa);end;
运行时显示内存地址出错,可是用例程中的ShowMessage(inttostr(f));又不会有问题,不知道怎么调用才是正确的,请明白人指点一下