我的delphi三层程序,保存用户id的资料以前是写在客户端注册表中,每次登陆写入,不出任何问题,
后来转移到应用程序服务器中,在应用程序服务器的remote data module,定义一个整型变量,
通过自定义的接口,在客户端登陆时付给这个变量用户id号,以取得相应用户id权限的资料。
可是等程序使用中才发现,原来这个变量被定义成全局变量,不覆盖才怪。
下面是部分代码,请高手出出主意,如何才能在应用程序服务器端保存相应用户的id而不相互覆盖?unit unitRemoteMod;interface
procedure SetCurrUserInfo(vCurrUserId, vCurrUserMode: Integer); safecall;
implementation var
currUserId:integer;
currUserMode:integer;
procedure TcrmServer.SetCurrUserInfo(vCurrUserId, vCurrUserMode: Integer);
begin
currUserId:=vcurrUserId;
currUserMode:=vcurrUserMode;
end;
后来转移到应用程序服务器中,在应用程序服务器的remote data module,定义一个整型变量,
通过自定义的接口,在客户端登陆时付给这个变量用户id号,以取得相应用户id权限的资料。
可是等程序使用中才发现,原来这个变量被定义成全局变量,不覆盖才怪。
下面是部分代码,请高手出出主意,如何才能在应用程序服务器端保存相应用户的id而不相互覆盖?unit unitRemoteMod;interface
procedure SetCurrUserInfo(vCurrUserId, vCurrUserMode: Integer); safecall;
implementation var
currUserId:integer;
currUserMode:integer;
procedure TcrmServer.SetCurrUserInfo(vCurrUserId, vCurrUserMode: Integer);
begin
currUserId:=vcurrUserId;
currUserMode:=vcurrUserMode;
end;
解决方案 »
- toolbar上设置了30多个按钮只显示16格,为什么?
- ~~用delphi代码如何实现TQuery与SQL Server数据库的连接?
- shr等于>> 如果是 >>> delphi中用什么代替?
- 传输文件时,recv 函数问题,高手请进,马上揭帖
- 调用存储过程过慢提示"超时已过期"
- 端口句柄的问题!
- 各位大哥,请教如何用ADOQuery在程序中动态的创建表!
- http://www.csdn.net/expert/topic/468/468185.xml?temp=.3393518这样的贴子为什么打不开!
- 如何为PageControl追加addpage方法?
- www服务无法停止,这是怎么回事?急!急!(高分)
- 在线等待,立即给分.一个service application ,如何在右下脚显示图标?
- 用过DELPHI7的进来聊聊,UP有分!!!有关dbexpreess 组件的问题!!!!
比如:
TMyDataModule=class(TDataModule)
private
currUserId:integer;
currUserMode:integer;
public
end;
每连进来一个用户,系统就会创建一个DataModule对象,所以这些对象的私有变量都是独立的,在用户断开连接之前一直都会存在。