Q&A

  • 자바스크립에서 Activex 메쏘드 호출은 ?
Active Form에서 view type lib에서

모쏘드 AddMunje 를 하나 추가 핬는데요.

아래와 같이 html을 만들었는데 안 되네요.. 자동화 오류라고 뜨네요.

<HTML>
<HEAD>

<TITLE>New Page</TITLE>
</HEAD>
<BODY onload="EduBankInit()" >

<script language="javascript">
<!--
        function EduBankInit()
        {
                Active1.AddMunje('2','daedalus.pe.kr','m','m1.zip');
        }
//-->
</script>

<OBJECT ID="Active1" WIDTH=565 HEIGHT=200
CLASSID="CLSID:F03F7B74-2F86-4262-AD30-E0B5CF47A8E1">
    <PARAM NAME="Visible" VALUE="-1">

</OBJECT>

</BODY>
</HTML>
3  COMMENTS
  • Profile
    조헌철 2002.05.19 04:13
    제가 해본 결과 Active1이 누구의 것인지 몰라 에러가 나는것 같더라구요

    폼을 만들어서 넣고

    폼.Active1.AddMunje(...)

    하시면 될것 같은데요

    그럼 이만

  • Profile
    김대정 2002.05.19 22:30
    분명히 자동화 오류라고 뜨거든요.  근데  객체를 못 찾을 때는 모르는

    객체라는 메시지를 보이구요, 메쏘드명이 틀린경우에는 메쏘드명이 없다고

    메시지를 보이기 때문에 그런것이 안 뜨는 것으로 봐서

    객체가 누구것인지는 알 고 있다고 봅니다.

    제가 예제를 올려 드립니다.

    http://dalsu.2y.net/activeformtest.zip

    은 아주 간단한 activex form 입니다. 메쏘드는

    procedure addstr(str: pchar)

    이거 하나 있구요  폼 위에는  메모 콘트롤 하나 하고 버튼하나 있습니다.

    버튼을 누르면 addstr 메쏘를 호출해서 메모에 한 줄씩 추가하는 기능의

    간단한 코드입니다.

    압축풀면 ocx파일하고 소스하고 html 파일이 있습니다. html 에는

    ocx를 웹에 불러서 자바 스크립트로 addstr를 호출하는 기능이 있습니다.

    문제는 이 자바스크립트에서  addstr을 호출할 수 없다는 것입니다.

    오류메시지는 "지원하지 않는 자동화 형식" 이라고  나옵니다.

    html을 로컬에서 불러서 테스트가능합니다.

    좀 도와 주시기 바랍니다.  여기까지 읽어 주셔서 감사합니다.

    study77@orgio.net





  • Profile
    김대정 2002.05.21 11:16
    끝까지 문제를 놓지 않아서 다행히 해결을 했습니다.

    메쏘드 인자의 자료형이 문제였습니다.  저는 MFC에 익숙하다보니

    LPSTR이나 LPWSTR 로 문자열을 처리할려고 하였습니다.

    근데 이렇게 하면 LPSTR은 PChar로 LPWSTR을 PWideChar로

    델파이에서 처리하더군요.  여기에 의심을 갖고 다른 자료형을 찾던 중

    BSTR 이라는게 있더군요. 이 놈은 WideString 으로 처리가 되더군요.

    자바스크립트가 유니코드 기반이라 변수처리에 있어서 문제있습니다.

    PS 광고하나

    http://dalsu.2y.net  제 홈에 가끔 놀러오세요..