2014年6月10日星期二

FireDac + DataSnap的mobile开发(二)

进展中,立刻又碰到另一个问题,SmartInspect是没法在iOS或者Android上面用的,那要怎样看debug log输出呢
翻来服务看帮助,可以用下面的方法来实现
procedure Log(format: String; params: array of const);
var
  l: IFMXLoggingService;
begin
  l :=  TPlatformServices.Current.GetPlatformService(IFMXLoggingService) as IFMXLoggingService;
  l.log(format, params);
end;

procedure TfrmLogin.btnOkClick(Sender: TObject);
var
  UserName, Password: string;
begin
  UserName := edtUserame.Text;
  Password := edtPassword.Text;
  if LogIn(UserName, Password) then //call ServerMethod
  begin
    Hide;
    frmMain.Show;
  end
  else begin
    Log('Wrong Password', []);
    ShowMessage('Wrong Password');
  end;
end;
运行后,iOS上面,用 模拟器 的的查看系统system.log可以看到这个的输出。在Android上,用Android Debug Monitor的logcat可以看到输出。IFMXLoggingService接口目前就一个函数。背后实现估计仍然是call的NSLog和android.util.Log。UIKit的代码跟不进去,IDE上看不见是如何实现的。

没有评论:

发表评论