how to close the old Session - if the same username starts a new 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;
 

你可能感兴趣的:(session)