发布于 2010-09-08 10:25:44
1楼
小弟昨天测试了一天,但是还是有些问题,修改的脚本如下:
if(strcmp(GetTagChar("@CurrentUserName"), GetTagChar("SY_UserName"))!=0)
{ if(strcmp( GetTagChar("SY_UserName"),"")!=0) goto Flag;
SetTagChar("SY_UserName",GetTagChar("@CurrentUserName"));
if(GetTagBit("SY_BIT_UserName")==0) SetTagBit("SY_BIT_UserName",1);
else SetTagBit("SY_BIT_UserName",0); //Return-Type: BOOL
}
Flag:
if(strcmp(GetTagChar("@CurrentUserName"),GetTagChar("SY_UserName"))!=0)
{
if(GetTagBit("SY_UserQuit_Flag")==0) SetTagBit("SY_UserQuit_Flag",1);
else SetTagBit("SY_UserQuit_Flag",0);
SetTagChar("SY_UserName","");
}
现在我用@CurrentUserName做触发变量,当其变化时触发全局脚本,现在还存在两个问题:
1.虽然在触发报警的语句前添加了if判断,但是对报警触发变量置1还是会有两个报警出现,这个问题我真是想不通。
2.当用户第二次登陆时,脚本的对SY_UserName赋值的语句就不执行了,因此报警信息中就没有用户名了,我是将SY_UserName作为过程值添加到报警信息的消息文本中的。这个语句不执行就导致登陆和注销的信息同时出现。
各位朋友帮我看看是什么问题,大家讨论下,谢谢了!