调用kbmMW服务端方法经验一则
作者:互联网
基于kbmMW实作项目,难免要在服务端实现方法供客户端调用,在这里有条重要的经验分享。
假设服务端有个方法,并反回一个字符串。
Procedure TQueryService.ValidUser:string begin ... result:='OK'; end;
上面服务端方法返回串OK,表示用户合法。
那客户端我们这样调用:
procedure TUser.ValidateUser(LoginCode, password: string); var r: string; begin ... r := c.Request(...); if (r = 'OK') then begin //用户合法 end else ... end;
正常情况下没有问题,应用会按预期执行。而一但因网路或其他问题,造成客户端请求不能正常执行,问题就来了:
c.Request返回的是个Variant,当不能正常执行时,会返回Variant类型的NULL,将之转换为一个string,会产生异常。
procedure TUser.ValidateUser(LoginCode, password: string); var r: variant; begin ... r := c.Request(...); if ((not VarIsNull(r)) and (r = 'OK')) then begin //用户合法 end else ... end;
标签:...,begin,调用,end,string,kbmMW,OK,服务端 来源: https://www.cnblogs.com/kinglandsoft/p/13582492.html