2013-03-21 107 views
3

64位是否有任何msscript控件? 我谷歌有点全都说不是64位微软脚本控制64位?

我需要64位msscript.ocx的原因是我想使用XE3编译64位的delphi项目。

它在XE3编译OK,我已经获得了64位的exe文件,但是当它执行到下面一行,

script := TScriptControl.Create(nil); 

它给了我一个“类没有注册”的错误。我只在C:\ windows \ SysWOW64下找到msscript.ocx,但在System32文件夹下没有这样的文件。

我真的希望这个工作,所以任何快速替代呢?

回答

2

这是一篇旧帖子。但我只是找到了一个很好的替代64位MSScript控制(微软没有64位msscript.ocx)

http://www.eonet.ne.jp/~gakana/tablacus/scriptcontrol_en.html

,我已经在我的应用程序,它改变的代码只有几行基于此ScriptControl64工作在64位。

+0

此控件似乎可行,但我无法让Visual Studio 2015将其作为有效的COM对象接受。当Tablacus与它一起注册时,当我在项目中保留原始的32位MS Script控件引用时,VS将编译我的应用程序用于AnyCPU和x86,但是TlbImp给出了一个错误“与输入类型库兼容的单个有效机器类型必须指定“当我尝试编译X64。当我尝试直接添加dll作为参考(浏览)时,Visual Stdio说它不能添加它。 – 2016-10-19 10:12:45

+0

回复我以前的评论:它确实有效,不仅仅“似乎”。我的应用程序,参考了MSScript.ocx并为AnyCPU编译,如果它安装(注册),则自动使用此64位dll,不需要更改任何源代码。当dll没有安装时,它会按预期的那样失败,因为它运行在64位模式下,只有32位版本在那里。所以唯一的问题是让Visual Studio也接受它。 – 2016-10-19 11:51:05

3

msscript组件未被移植到64位。这是一个传统组件,MS选择不把它迁移到64位。您只需要找到另一种方法来执行您对该组件所做的任何操作。

+0

这就是我避免像瘟疫一样的外部控制的原因 - 我在多年前被“TWebBrowser”这个移动目标或现在称之为的任何东西咬在后面。 – 2013-03-22 15:34:06

+0

有趣的是,InternetExplorer已被移植到64位:http://support.microsoft.com/kb/896457/en – 2013-03-22 16:21:41

+0

@David Heffernan http://www.eonet.ne.jp/~gakana/tablacus/scriptcontrol_en .html – 2015-09-04 14:55:38