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;
     
  • 相关阅读:
    html5 存储(删除)
    java 单例模式
    android知识点汇总
    java多线程 与 并发
    cuda GPU 编程之共享内存的使用
    vs 2015 + OPENGL 配置
    Ubuntu 14.04 安装 CUDA 问题及解决
    性能分析工具gprof介绍
    vim 换行方式 win 转Ubuntu vim 格式调整
    计算显卡对比
  • 原文地址:https://www.cnblogs.com/wxb-km/p/4051456.html
Copyright © 2011-2022 走看看