delphi datasnap 三层
请问一下:delphi用三层的时候,比如我在服务端写一个用户登录的验证函数,如果要传4个参数,分别是用户名、密码、是否成功、错误信息等;然后我在客户端调用这个函数去验证用...
请问一下:delphi 用三层的时候,比如我在服务端写一个用户登录的验证函数,如果要传4个参数,分别是用户名、密码、是否成功、错误信息等;然后我在客户端调用这个函数去验证用户的登录信息是否正确;请问服务端的函数怎么写啊,客户端怎么去调用这个函数?求这个函数的代码和调用的语句。
比如,这是我的服务端的函数:
procedure TTestServer.Test1(const Value1, Value2: WideString;var Result: OleVariant);beginif (Trim(Value1) = 'sa') and (Trim(Value2) = 'sa') thenResult := 'OK'elseResult := 'NO';end;
这是我的客户端传递的参数的类型和调用服务端的方法:
UserCode, UserPw: WideString;OMsg, isOK: OleVariant;
DataModule2.con1.AppServer.Test1(UserCode, UserPw, OMsg);
图片是所报的错误信息:
请问:这是哪儿错了啊,我传递的参数类型错了吗? 展开
比如,这是我的服务端的函数:
procedure TTestServer.Test1(const Value1, Value2: WideString;var Result: OleVariant);beginif (Trim(Value1) = 'sa') and (Trim(Value2) = 'sa') thenResult := 'OK'elseResult := 'NO';end;
这是我的客户端传递的参数的类型和调用服务端的方法:
UserCode, UserPw: WideString;OMsg, isOK: OleVariant;
DataModule2.con1.AppServer.Test1(UserCode, UserPw, OMsg);
图片是所报的错误信息:
请问:这是哪儿错了啊,我传递的参数类型错了吗? 展开
2个回答
展开全部
那就把OleVariant换成WideString试试。
为何不用DataSnap或者WebService,以后扩展到移动应用更方便。
为何不用DataSnap或者WebService,以后扩展到移动应用更方便。
更多追问追答
追问
哪个地方?还有我是想返回一个 OK 或者是 NO ,这样写为什么不对啊,我看别人的例子客户端调用的方法是这样的,一模一样,就是服务端的那个赋值有点不一样,我发现只要把赋值改成这样就报错。
追答
把 OleVariant 还成 WideString,只是一种排除错误的方法。如果换了没报错,就可确定是这里的问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询