2012-03-09 4 views
2

내 응용 프로그램의 주 스레드에 대한 세션이 있으며 해당 세션에 액세스하려는 중요한 데이터가 있습니다. 보통 나는 단순히 TDSSessionManager.GetThreadSession 메서드를 사용하여 세션을 가져 오지만 지금은 외부의 주 스레드 외부에서이 세션에 액세스해야합니다.데이터에서 세션 가져 오기

어떻게 든 내 세션을 얻는다고 생각했지만 내부 데이터의 일부를 참조하고 있습니다. 현재있는 스레드가 아닌 다른 세션에서 세션을 가져 오는 방법이 있습니까?

답변

2

최근 델파이 버전을 사용한다고 가정하면 Rtti을 사용하여 참조 할 수 있습니다. TDSSessionManager은 싱글 톤을 구현하므로 작업이 쉬워집니다.

+0

최근에 델파이 버전은 얼마나 될 수 있습니까? (2010 년 이후 또는 그 이전?) – Zeina

+0

Delphi 2010부터. – menjaraz

+0

저는 Delphi XE2를 사용하고 있습니다. 좀 더 자세한 답변을 원합니다. 나는 그것을 정확히 어떻게 참조 할 것인가? – bpromas

0

TDSSessionManager를 사용하여 세션을 반복 할 수 있습니다. 인스턴스

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