2012-03-09 71 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 
);