0

ローカル マシンから正常に動作する MFC activeX がありますが、サーバー上 (LAN 上) で使用しようとすると、オブジェクトに AboutBox メソッドがないという例外が発生します (たとえば)。これは私がメソッドを呼び出す方法です: document.all('Ctrl1').AboutBox(); メソッド AboutBox は、activeX の Ctrl クラスからのものです。彼にはその方法があります。ただし、idl ファイルで奇妙なことに気付きました。メソッド AboutBox はコントロールで宣言されていませんが、他の場所で宣言されています。idl ファイルは以下にあります。アドバイスをお願いします。ありがとう、ナホム。

これはアイドルです:

[ uuid(E0D6BB50-57F3-4C0D-9163-CCC0AEC87EF4), version(1.0),
  control ]
library nsip_ax_10Lib
{
        importlib(STDOLE_TLB);

    //  Primary dispatch interface for Cnsip_ax_10Ctrl
        [ 
            uuid(16C6DE45-B481-4795-AFBA-BE64E1CEF9AA)  
       ]
        dispinterface _Dnsip_ax_10
       {
        properties:
            methods:

                [id(DISPID_ABOUTBOX)] void AboutBox();
                [id(1)] BYTE try2(void);
         };

        //  Event dispatch interface for Cnsip_ax_10Ctrl

       [ 
        uuid(871F4F0A-3333-4FDF-A53F-CFB581D15596)  
       ]
        dispinterface _Dnsip_ax_10Events
       {
          properties:
                //  Event interface has no properties

            methods:
     };

        //  Class information for Cnsip_ax_10Ctrl
       [
           uuid(E228C560-FA68-48E6-850F-B1167515C920)
       ]
     coclass nsip_ax_10
            {
            [default] dispinterface _Dnsip_ax_10;
            [default, source] dispinterface _Dnsip_ax_10Events;
            };

           };

ActiveX をロードするための HTML コード:

  <OBJECT CLASSID="CLSID:871F4F0A-3333-4FDF-A53F-CFB581D15596"
        CODEBASE="nsip.CAB#version=1,0,0,1"
        ID="Ctrl1"
        name="Ctrl1"></OBJECT>
4

1 に答える 1