我的应用程序中有一个主线程会话,该会话中有我想要访问的有价值的数据。通常我只是使用该TDSSessionManager.GetThreadSession
方法获取会话,但现在我必须在主线程之外访问此会话。
我想也许可以通过某种方式引用其中的一些数据来获得我的会话,但我不知道如何。有什么方法可以从你所在的线程之外的其他地方获取会话?
我的应用程序中有一个主线程会话,该会话中有我想要访问的有价值的数据。通常我只是使用该TDSSessionManager.GetThreadSession
方法获取会话,但现在我必须在主线程之外访问此会话。
我想也许可以通过某种方式引用其中的一些数据来获得我的会话,但我不知道如何。有什么方法可以从你所在的线程之外的其他地方获取会话?
假设您使用的是最新的 Delphi 版本,您可以使用Rtti来参考它。TDSSessionManager实现单例,这将有助于您的工作。
您可以使用 TDSSessionManager 循环浏览您的会话。实例
TDSSessionManager.Instance.ForEachSession
(
procedure(const Session: TDSSession)
begin
if Session.HasData('User') then begin
Listbox1.AddItem(Session.GetData('User'),Session);
end;
end
);