2010-03-08 2 views
1

사용자 지정된 ActiveX 컨트롤을 만들고 "getDesktopWindows"라는 메서드를 노출했습니다. 그렇다면 다음 자바 스크립트를 사용하여 호출합니다.액티브 X가 플래시 플레이어와 같은 페이지에있을 때 액티브 X 메서드를 호출 할 수 없습니다.

var plugin = document.getElementById ("myPlugin"); var wins = plugin.getDesktopWindows();

지금까지 모든 것이 잘 작동합니다. 그런 다음 코드를 자바 스크립트 함수에 랩핑하고 flex 애플리케이션을 사용하여 호출했습니다.

// 자바 스크립트

getDesktopWindows 함수() { VAR 플러그인 = document.getElementById를 ("myPlugin"); var wins = plugin.getDesktopWindows(); return wins; 은} 플렉스에서

//은

VAR는 = ExternalInterface.call ("getDesktopWindows")을 승리;

는 지금은 "마이크로 소프트의 JScript 런타임 오류 : 개체가이 속성 또는 메서드를 지원하지 않습니다"받게됩니다 호출이 플래시 플레이어에서 유래하기 때문에 될 문제를 추측

합니다. 내가 자바 스크립트에서 직접 호출 tryed. 그리고 나는 같은 예외를 받았다. 같은 웹 페이지에 두 개의 ActiveX가 있기 때문에 그렇게 할 수 있습니까?

+0

이것은 MFC activeX입니까? –

+0

그것은 ATL 컨트롤입니다. 그러나 나는 이것을 해결할 수 있었다. 이것을 확인해 주셔서 대단히 감사합니다. 감사합니다 BTW 나는 이것을 MSDN 포럼에 게시했습니다. 그리고 당신도 거기에 대답했습니다 :) – tactoth

답변

0

마지막으로 호출이 비동기이어야한다는 것을 알았습니다. 호출이 ActiveX에서 시작되고 다른 ActiveX로 호출되면 일부 브라우저에서는 호출이 실패합니다. 해결 방법은 먼저 호출을 대기시킨 다음 다른 ActiveX에 대한 다른 호출을 시작하는 것입니다.