2011-08-11 3 views
3

내 델파이 응용 프로그램 코드의 라인을 가지고 :Windows 셸의 시트릭스

시트릭스 세션을 통해 실행
sh := CoShellWindows.Create; 

는,이 예외가 발생 "저장소가 부족하여이 작업을 완료 할 수 없습니다."

내가 Citrix를 통해 액세스 할 수 없다는 의심을 사용자가 확인할 수 있습니까? 차이가 있다면 Seamless 모드로 실행 중입니다. 어쩌면 내가 출판 된 아이콘을 바꿀 필요가 있습니다.

나는 Citrix에 "Shell"이 없다고 추측하고 있습니다.

감사

편집

CoShellWindows는 단순히 IShellWindows interface 구현하는 객체를 생성하는 클래스입니다. 그런 다음이 인터페이스를 사용하여 Internet Explorer 인스턴스 (또는 특히 IWebBrowser2 인터페이스를 구현하는 항목)를 찾는 항목을 반복합니다.

CoShellWindows를 사용하는 몇 가지 다른 사용 사례 시나리오가 있지만 모두 궁극적으로 IWebBrowser2 인터페이스 (Internet Explorer 8)와 상호 작용하는 데 사용됩니다. 내 요구 사항은이 IWebBrowser2 개체를 얻는 것입니다.

  • rclsid = {9BA05972-F6A8-11CF-A442-00A0C90A8F39} ( IShellWindows의 CLSID)
  • pUnkOuter : 뒤에서

    호출은 다음과 같은 매개 변수를 사용하여 윈도우의 API를 CoCreateInstance를 호출 = 널 (전무)

  • dwClsContext = CLSCTX_ALL (I이 플래그의 다양한 조합을 시도했습니다)
  • riid = {85CB6900-4D95-11CF-960C-0080C7F4EE85} (IShellWindows의 IID)
  • PPV = 형 IShellWindows로 선언 된 변수

예 : CoCreateInstance를 (CLASS_ShellWindows, 전무, CLSCTX_ALL, IID_IShellWindows, SH)

+3

나는 당신을 도울지도 모르지만 나는 델파이에 대해 아무것도 모른다 - CoShellWindows 란 무엇인가?해야 할 일을? 게시 된 애플리케이션에서는 셸 (예 : 데스크톱)이 없음을 기억하십시오. –

+0

이 CoShell 항목은 무엇인지 모르겠지만 기본 앱에서 외부 .bat 및 .exe 프로그램을 실행할 수 있음을 확인할 수 있습니다. Citrix 아이콘에서 실행되는 Delphi 응용 프로그램이 있으며 외부의 .exe 프로그램 인 많은 보고서가 실행됩니다. –

답변

4

귀하의 예외 "저장소가 부족하여이 작업을 완료 할 수 없습니다." 실제로 "셸이 존재하지 않으므로 인스턴스를 만들 수 없습니다."

기본적으로 Citrix에서 만들 셸이 없다는 가정하에 올바른 것입니다.

셸 사용 대상은 무엇입니까? 우리가 더 많은 정보를 제공하는 것처럼 우리는 충분히 일할 수있을 것입니다.

관련 문제