zoukankan      html  css  js  c++  java
  • how to close the old Session

    Question:

     want to close the old Session - if the same username starts a new Session

    Any ideas how i can do this? - one user should not be able to start the Software unlimited in his company - every user should buy a licence .

    Answer:

    var
      ASessionList: TList;
      I : Integer;
      M : TUniMainModule;
      USession : TUniGUISession;
    begin
      ASessionList := UniServerModule.SessionManager.Sessions.SessionList.LockList;
      try
        for I := 0 to ASessionList.Count -1 do
        begin
          USession := TUniGUISession(ASessionList[i]);
          M := USession.UniMainModule as TUniMainModule;
          if M.username = 'ThisUserName' then
          begin
            USession.TerminateAfterSecs(0);
            Break;
          end;
        end;
      finally
        UniServerModule.SessionManager.Sessions.SessionList.UnlockList;
      end;
    end;

    Question:
     If I want to send a message to another session of the same user before I kill it,how do I do?
    Answer:
    begin USession := TUniGUISession(ASessionList[i]);
      M := USession.UniMainModule as TUniMainModule;
      if M.username = 'ThisUserName' then
      begin
       M.LMessageStr := 'Your Session will Terminate after 10 Sec !!!';////// <---
       USession.TerminateAfterSecs(10); Break;
       end;
    end;
    
    // And in the MainForm. a Timer With this code:
    procedure TMainFrm.UniTimer1Timer(Sender: TObject);
    begin
     if UniMainModule.LMessageStr <> '' then
     begin
      ShowMessage(UniMainModule.LMessageStr);
      UniMainModule.LMessageStr := '';
     end;
    end;
     
  • 相关阅读:
    petshop4.0(转)
    分层依据(转)
    如何让一个函数返回多个值
    谁访问过我的电脑
    博客第一帖!
    开发辅助工具大收集
    VC 通过IHTMLINTEFACE 接口实现网页执行自定义js代码
    vi命令大全
    #include <sys/types.h>
    #include <arpa/inet.h>
  • 原文地址:https://www.cnblogs.com/wxb-km/p/4051456.html
Copyright © 2011-2022 走看看