2012-03-09 72 views
2

我在我的应用程序中为主线程建立了一个会话,并且该会话中有我想要访问的有价值的数据。通常我只使用TDSSessionManager.GetThreadSession方法获得会话,但现在我不得不在主线程之外访问此会话。从数据中获取会话

我想通过某种方式引用其中的一些数据来获得我的会话,但我不知道如何。 有什么办法可以从你所在的线程以外的其他东西获得会话吗?

回答

2

假设您使用的是最新的Delphi版本,您可以使用Rtti来引用它。 TDSSessionManager实施单身人士,这将有助于您的工作。

+0

最近怎么能德尔福版本是什么? (2010年及以后?甚至更早?) – Zeina 2012-03-10 09:05:17

+0

从Delphi 2010开始。 – menjaraz 2012-03-10 09:10:35

+0

我正在使用Delphi XE2。我想要一个更详细的答案。我将如何参考它? – bpromas 2012-03-12 14:40:02

0

您可以使用TDSSessionManager遍历您的会话。 实例

TDSSessionManager.Instance.ForEachSession 
    (
    procedure(const Session: TDSSession) 
    begin 
     if Session.HasData('User') then begin 
     Listbox1.AddItem(Session.GetData('User'),Session); 
     end; 
    end 
);