IE的默人配置是:
对标记为可安全执行脚本的ActiveX控件执行脚本是启用的
对没有标记为可安全执行脚本的ActiveX控件进行初始化和脚本执行是禁用的但我们用DELPHI开发出来的Automation经regsvr32注册后,用JS调用时,如果是IE的默认配置,就无法创建Automation对像,但将"对没有标记为可安全执行脚本的ActiveX控件进行初始化和脚本执行"改为启用后,即可创建怎么样做才会被IE标记为可安全执行脚本的ActiveX控件???求各位高人指点!

解决方案 »

  1.   

    这是一个我自己随便定义的THOTKEY ActiveX系统自动生成的是THotKeyX = class(TActiveXControl, IHotKeyX)修改THotKeyX = class(TActiveXControl, IObjectSafety, IHotKeyX)
      

  2.   

    具体实现THotKeyX = class(TActiveXControl, IObjectSafety, IHotKeyX)
      private
        { Private declarations }
        ......
      protected
        { Protected declarations }
       ......
        function GetInterfaceSafetyOptions(const IID: TIID; pdwSupportedOptions,
          pdwEnabledOptions: PDWORD): HResult; stdcall;
        function SetInterfaceSafetyOptions(const IID: TIID; dwOptionSetMask,
          dwEnabledOptions: DWORD): HResult; stdcall;
       ......
      end;..............function THotKeyX.GetInterfaceSafetyOptions(const IID: TIID;
      pdwSupportedOptions, pdwEnabledOptions: PDWORD): HResult;
    begin
      if (pdwSupportedOptions = nil) or (pdwEnabledOptions = nil) then
      begin
        Result := E_POINTER;
        Exit;
      end;
      pdwSupportedOptions^ := 0;
      pdwEnabledOptions^ := 0;
      Result:=S_OK;
    end;function THotKeyX.SetInterfaceSafetyOptions(const IID: TIID;
      dwOptionSetMask, dwEnabledOptions: DWORD): HResult;
    begin
      Result := E_NOTIMPL;
    end;
      

  3.   

    还是不行啊,我照你方法加上去还是不行,一定要启用"对没有标记为可安全执行脚本的ActiveX控件进行初始化和脚本执行"才行我的是:
    TdealNetParam = class(TAutoObject, IdealNetParam, IObjectSafety)
      

  4.   

    应该没有问题的.再看看你的WEB DEPLOYMENT OPTION 是怎么设置的
      

  5.   

    WEB DEPLOYMENT OPTION 在哪啊?
    IE?
    DELPHI?
    谢了
      

  6.   

    搞定了,谢谢你了我也是根据你的代码搜索到的解决方法:
    http://www.mydict.net/html/2006-07/1123.html