2013-03-21 82 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