문제

다음과 같은 참조 매개 변수가있는 메소드가있는 ActiveX (제 3 자, 소스 없음)가 있습니다.

HRESULT GetSomething(
[in] short param1,
[out] BSTR* someString);

C ++에서는 다음과 같이 실행합니다.

BSTR someString = NULL
m_activeX.GetSomething(0, &someString);

JavaScript를 통해 이것을 어떻게 실행합니까? ActiveX의 다른 모든 기능은 잘 작동하지만 이것은 불가능 해 보입니까? JavaScript에서는 불가능한 경우 vbscript입니까? 나도 운이 없었습니다.

BTW, 이것은 Internet Explorer에서 수행해야합니다

도움이 되었습니까?

해결책

나는 당신에게 확실한 답을 줄 수는 없지만, 그것이 할 수 있다고 생각하지 않습니다. 누군가가 나를 잘못 증명하기를 바랍니다. 그러나 여기에 그것이 효과가 없다고 생각하는 이유가 있습니다 ...

JavaScript에서 모든 변수는 값으로 전달됩니다. IE에서는 COM 객체를 래핑하기 위해 ActiveXobject JavaScript 클래스 인스턴스를 생성합니다. 해당 래퍼 객체가 COM 객체에서 값을 얻을 수 있더라도 JavaScript에는 해당 값을 전달할 방법이 없습니다.

Windows에서 IE에서 실행 되겠다는 것을 알고 있다면 JavaScript 대신 VBScript를 사용해 볼 수 있습니다. vbscript 하다 패스 바로 회의를 지원하므로 더 많은 운이 좋을 수 있습니다.

도움이되기를 바랍니다.

다른 팁

// Using javascript
var someString = activeXObj.GetSomething(0);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top