Question:
Want to close the old session-if the same username starts a new session
Any ideas how I can do this? -One user shoshould not be able to start the software unlimited in his company-every user shoshould 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;
How to close the old session-if the same username starts a new session?