Delphi 仅在一台特定计算机上使用MS Word OLE Automation的变体操作无效

Delphi 仅在一台特定计算机上使用MS Word OLE Automation的变体操作无效,delphi,delphi-xe2,ole,Delphi,Delphi Xe2,Ole,我正在使用OLE自动化进行一些搜索替换工作。所涉及的代码与我发布的代码是相同的 只有一台机器出现“无效变量操作”错误。此错误出现在从MSOffice 2003升级到2010之后。但这只发生在一台电脑上,我用Office2010在几台电脑上进行了测试,代码运行良好 我真的被卡住了,我尝试用Eureka日志构建,我将在这个问题的末尾粘贴调用堆栈 我希望有人已经碰到了这个问题,所以你可以提出建议 问题发生在一个客户端,有100台机器连接到同一个DB,只有一台机器不工作 Call Stack Infor

我正在使用OLE自动化进行一些搜索替换工作。所涉及的代码与我发布的代码是相同的

只有一台机器出现“无效变量操作”错误。此错误出现在从MSOffice 2003升级到2010之后。但这只发生在一台电脑上,我用Office2010在几台电脑上进行了测试,代码运行良好

我真的被卡住了,我尝试用Eureka日志构建,我将在这个问题的末尾粘贴调用堆栈

我希望有人已经碰到了这个问题,所以你可以提出建议

问题发生在一个客户端,有100台机器连接到同一个DB,只有一台机器不工作

Call Stack Information:
--------------------------------------------------------------------------------------------------
|Address |Module           |Unit        |Class           |Procedure/Method             |Line     |
--------------------------------------------------------------------------------------------------
|*Exception Thread: ID=776; Priority=0; Class=; [Main]                                           |
|------------------------------------------------------------------------------------------------|
|0043554F|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|00435520|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|00435CAA|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|770F48F0|oleaut32.dll     |            |                |VariantClear                 |         |
|00435B43|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|0043590C|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|00435B48|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|00435BE4|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|00407316|Project1.exe|System.pas  |                |_HandleFinally               |14330[39]|
|00407460|Project1.exe|System.pas  |                |_RaiseExcept                 |14712[1] |
|00635EED|Project1.exe|ComObj.pas  |                |DispCallError                |2024[13] |
|004070DA|Project1.exe|System.pas  |                |_HandleAnyException          |13728[81]|
|77E256A3|RPCRT4.dll       |            |                |NdrClientCall2               |         |
|7C80A174|kernel32.dll     |            |                |WideCharToMultiByte          |         |
|0040C4DB|Project1.exe|System.pas  |                |LocaleCharsFromUnicode       |29632[1] |
|0040C4C0|Project1.exe|System.pas  |                |LocaleCharsFromUnicode       |29631[0] |
|00407EFC|Project1.exe|System.pas  |                |CharFromWChar                |17375[3] |
|00407EDC|Project1.exe|System.pas  |                |CharFromWChar                |17372[0] |
|00407F17|Project1.exe|System.pas  |                |CharFromWChar                |17381[1] |
|00407F08|Project1.exe|System.pas  |                |CharFromWChar                |17380[0] |
|004090CE|Project1.exe|System.pas  |                |_UStrToString                |22054[8] |
|00404DA4|Project1.exe|System.pas  |                |Move                         |4808[1]  |
|004090ED|Project1.exe|System.pas  |                |_UStrToString                |22061[15]|
|7C920380|ntdll.dll        |            |                |RtlImageNtHeader             |         |
|00407460|Project1.exe|System.pas  |                |_RaiseExcept                 |14712[1] |
|00635EED|Project1.exe|ComObj.pas  |                |DispCallError                |2024[13] |
|004070DA|Project1.exe|System.pas  |                |_HandleAnyException          |13728[81]|
|00407460|Project1.exe|System.pas  |                |_RaiseExcept                 |14712[1] |
|00635EED|Project1.exe|ComObj.pas  |                |DispCallError                |2024[13] |
|7C913247|ntdll.dll        |            |                |RtlConvertUlongToLargeInteger|         |
|00404A95|Project1.exe|System.pas  |                |_ReallocMem                  |3871[22] |
|00404A88|Project1.exe|System.pas  |                |_ReallocMem                  |3850[1]  |
|00409130|Project1.exe|System.pas  |                |_UStrSetLength               |22152[27]|
|00408198|Project1.exe|System.pas  |                |_UStrAsg                     |17715[1] |
|0040C3EF|Project1.exe|System.pas  |                |UTF8ToUnicodeString          |28576[11]|
|00407DB8|Project1.exe|System.pas  |                |_UStrClr                     |16954[1] |
|0040C404|Project1.exe|System.pas  |                |UTF8ToUnicodeString          |28577[12]|
|7C91E485|ntdll.dll        |            |                |KiUserApcDispatcher          |         |
|7C912B04|ntdll.dll        |            |                |RtlInterlockedPushListSList  |         |
|77E943DB|SHLWAPI.dll      |            |                |SHRegGetValueW               |         |
|77E943E8|SHLWAPI.dll      |            |                |SHRegGetValueW               |         |
|00407460|Project1.exe|System.pas  |                |_RaiseExcept                 |14712[1] |
|00635EED|Project1.exe|ComObj.pas  |                |DispCallError                |2024[13] |
|00635E48|Project1.exe|ComObj.pas  |                |DispCallError                |2011[0]  |
|00635F20|Project1.exe|ComObj.pas  |                |DispatchInvokeError          |2031[1]  |
|00635F1C|Project1.exe|ComObj.pas  |                |DispatchInvokeError          |2031[1]  |
|00635BF9|Project1.exe|ComObj.pas  |                |DispatchInvoke               |1895[108]|
|00635940|Project1.exe|ComObj.pas  |                |DispatchInvoke               |1787[0]  |
|00635E3B|Project1.exe|ComObj.pas  |                |VarDispInvoke                |2002[10] |
|774CF17D|ole32.dll        |            |                |CoCreateInstanceEx           |         |
|77E25AE5|RPCRT4.dll       |            |                |IUnknown_Release_Proxy       |         |
|00435C7A|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|00435BE4|Project1.exe|SysUtils.pas|                |DoneExceptions               |17031[25]|
|004627DF|Project1.exe|Classes.pas |TThread         |Create                       |11471[28]|
|004627D0|Project1.exe|Classes.pas |TThread         |Create                       |11471[28]|
|00501FE5|Project1.exe|ActnList.pas|TContainedAction|Execute                      |448[8]   |
|00501FB4|Project1.exe|ActnList.pas|TContainedAction|Execute                      |440[0]   |
|00502DA0|Project1.exe|ActnList.pas|TCustomAction   |Execute                      |1094[7]  |
|00406498|Project1.exe|System.pas  |                |_CallDynaInst                |11592[1] |
|004626A3|Project1.exe|Classes.pas |TThread         |Create                       |11471[28]|
|00532DA4|Project1.exe|Menus.pas   |TMenuItem       |Click                        |2525[17] |

试着找出这台电脑和其他99台电脑的区别。前一段时间,我在网络中的1台电脑出现了错误,因为数千和十进制分隔符,它们都被设置为相同的值。所以,请检查全球系统和办公室设置。@teran感谢您的建议。我已经在控制面板/区域设置中更改了一些内容。但对于Office设置,您的意思是什么呢?这只是一个建议,并没有具体内容:)可能是关闭插件,或者检查安全设置;尝试从其他用户帐户运行程序(或使用默认设置创建新帐户)。