Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带Activex的Typescript_Typescript_Activex - Fatal编程技术网

带Activex的Typescript

带Activex的Typescript,typescript,activex,Typescript,Activex,如何使用typescript创建ActiveX?因为不支持CreateObject var objElement = document.createElement('object'); objElement.classid = 'clsid:2F3BC10B-45B6-472D-859C-200197E7D9C7'; objElement.id = objectId; objElement.data = 'data:application / x

如何使用typescript创建ActiveX?因为不支持CreateObject

 var objElement = document.createElement('object');
        objElement.classid = 'clsid:2F3BC10B-45B6-472D-859C-200197E7D9C7';
        objElement.id = objectId;
        objElement.data = 'data:application / x - oleobject; base64, C8E7L7ZFLUeFnCABl + fZxwAIAABqJQAAxRoAAA =='; 
        this.config.element.appendChild(objElement);

        var helper = CreateObject("Helper.WebHelper")

您可以声明ActiveXObject(如果它不存在),如下所示:

declare var ActiveXObject: (type: string) => void;
我之所以提到这一点,是因为这是在标准库中不存在的情况下将内容放入类型系统的标准方法

但是,
ActiveXObject
已经在标准的TypeScript库中,因此您不需要它-它将通过以下方式编译:

var objElement = document.createElement('object');
objElement.classid = 'clsid:2F3BC10B-45B6-472D-859C-200197E7D9C7';
objElement.id = 'My Id';
objElement.data = 'data:application / x - oleobject; base64, C8E7L7ZFLUeFnCABl + fZxwAIAABqJQAAxRoAAA =='; 
this.config.element.appendChild(objElement);

var helper = new ActiveXObject("Helper.WebHelper");
至于您的
对象不支持此属性或方法
——一旦您拥有ActiveX对象的句柄,您将被束缚在该对象支持的任何对象上


使用上述代码,
helper
保存对ActiveX对象的引用。使用
document.getElementById(…)
将返回DOM中的元素(我假定是
对象
元素)。您需要使用
帮助程序
变量访问ActiveXObject。

您可以声明ActiveXObject(如果它不存在),如下所示:

declare var ActiveXObject: (type: string) => void;
我之所以提到这一点,是因为这是在标准库中不存在的情况下将内容放入类型系统的标准方法

但是,
ActiveXObject
已经在标准的TypeScript库中,因此您不需要它-它将通过以下方式编译:

var objElement = document.createElement('object');
objElement.classid = 'clsid:2F3BC10B-45B6-472D-859C-200197E7D9C7';
objElement.id = 'My Id';
objElement.data = 'data:application / x - oleobject; base64, C8E7L7ZFLUeFnCABl + fZxwAIAABqJQAAxRoAAA =='; 
this.config.element.appendChild(objElement);

var helper = new ActiveXObject("Helper.WebHelper");
至于您的
对象不支持此属性或方法
——一旦您拥有ActiveX对象的句柄,您将被束缚在该对象支持的任何对象上

使用上述代码,
helper
保存对ActiveX对象的引用。使用
document.getElementById(…)
将返回DOM中的元素(我假定是
对象
元素)。您需要使用
帮助程序
变量访问ActiveXObject。

此外,请注意,DefinitelyTyped(、、和其他)上有一些ActiveX类型定义可用。您可以像安装任何其他定义一样安装这些定义,例如:

npm install --save-dev @types/activex-excel
如果这些定义没有帮助,我已经编写了一个从ActiveX类型库(在系统上注册或从文件中注册)生成Typescript定义文件的脚本。

此外,请注意,DefiniteTyped(、和其他)上有一些ActiveX类型定义可用。您可以像安装任何其他定义一样安装这些定义,例如:

npm install --save-dev @types/activex-excel

如果这些定义没有帮助,我已经编写了一个从ActiveX类型库(在系统上注册或从文件中注册)生成Typescript定义文件的脚本。

未定义,我尝试了ActiveXObject,但获取对象不支持此操作,如何创建ActiveX对象?MSDN文档建议语法为
新的ActiveXObject(servername.typename[,location])
,因此要让TypeScript识别这一点,您需要为此签名编写声明-请记住这只是IE,它永远不会在其他浏览器中工作。谢谢,我在ActiveObject之前忘记了新的。还有,当我调用var helper var helper=document.getElementById('playerComponentTX1')时,为什么会出现这种情况;helper.init我得到异常,当从活动对象执行此操作时,我得到异常?init是函数吗?对于-init(),您需要大括号。否则,您会收到什么错误消息?确定它是一个函数,很抱歉我没有编写()尽管它很明显,我正在获取对象不支持属性或方法获取未定义,我已尝试ActiveXObject,但获取对象不支持此操作,如何创建ActiveX对象?MSDN文档建议语法为
新的ActiveXObject(servername.typename[,location])
,因此要让TypeScript识别这一点,您需要为此签名编写声明-请记住这只是IE,它永远不会在其他浏览器中工作。谢谢,我在ActiveObject之前忘记了新的。还有,当我调用var helper var helper=document.getElementById('playerComponentTX1')时,为什么会出现这种情况;helper.init我得到异常,当从活动对象执行此操作时,我得到异常?init是函数吗?对于-init(),您需要大括号。否则,您会收到什么错误消息?请确定它是一个函数,很抱歉我没有编写()尽管它很明显,但我正在获取的对象不支持属性或方法