标签: com

Excel .NET COM - 自动化错误.该系统找不到指定的文件

我有一个.NET 2.0 COM对象,由VBA在Excel中使用.它在我的开发机器上工作正常,但是当试图在干净的VM工作站上使用它时,我收到此错误:

自动化错误.该系统找不到指定的文件.

该DLL已在"regasm/tlb/codebase mycom.dll"中注册,而不是放在GAC中.我没有VM框的管理权限

有任何想法吗?

.net com excel automation

18
推荐指数
3
解决办法
2万
查看次数

如何通过COM互操作在.NET对象上调用静态方法?

是否可以通过COM互操作在.NET对象上调用静态方法?

我知道我可以写一个包装类.如果我不想那样做怎么办?

.net com interop com-interop

18
推荐指数
1
解决办法
2086
查看次数

AxInterop和Interop有什么区别?

我在VS中的工具箱中添加了一个.ocx.创建了两个.dll:Interop.NNN.dll,AxInterop.NNN.dll.

每个人是什么?它们都是必需的吗?

.net com interop activex ocx

18
推荐指数
2
解决办法
2万
查看次数

CComPtr在CC中使用CComQIPtr有什么用?

任何人都可以解释一下,CComPtr在CC中使用CComQIPtr有什么用?

CComPtr<ISampleInterface> Sample1;
CComQIPtr<ISampleInterface> Sample2;
Run Code Online (Sandbox Code Playgroud)

com atl smart-pointers visual-c++

18
推荐指数
2
解决办法
8580
查看次数

C#中CreateObject的等效代码

我在VB6中有一个代码.任何人都可以告诉我如何写它C#.此代码如下:

Set Amibroker = CreateObject("Broker.Application")
Set STOCK = Amibroker.Stocks.Add(ticker)
Set quote = STOCK.Quotations.Add(stInDate)

quote.Open = stInOpen
quote.High = stInHigh
quote.Low = stInlow
quote.Close = stInYcp
quote.Volume = stInVolume


Set STOCK = Nothing
Set quote = Nothing
Run Code Online (Sandbox Code Playgroud)

CreateObjectC#中的等价物是什么?我尝试添加对com对象的引用,但我找不到任何com对象作为Broker.Application或amibroker

c# com

18
推荐指数
3
解决办法
4万
查看次数

RegAsm - /codebase选项何时适用?

我有一个用C#编写的COM可见DLL,我想在VB6应用程序中使用它.我有两个DLL的主要用例,我想知道该/codebase选项何时适用以及何时最好在GAC中注册.


用例:

  1. DLL将被加载到另一台开发人员PC上,并且需要在Project > References菜单下的VB6 IDE中访问

  2. 当VB6应用程序发布时,DLL将被加载到生产机器上


有关适当使用的任何信息/codebase都会有所帮助.

谢谢.

vb6 com dll comvisible regasm

18
推荐指数
1
解决办法
2万
查看次数

如何提供正确定位.NET Dll作为COM提供程序的私有并排清单?

我正在研究一个免费的私有注册WinSxS的配置,它提供了简单的程序集清单文件,在部署和运行时将Delphi可执行文件(COM客户端)和.NET(C#)COM可见DLL组合在一起.

我已经研究了MSDN "与非托管代码互操作"中提供的文档,特别是关于" COM Callable Wrapper "" 如何:为无注册激活配置基于.NET Framework的COM组件 "的部分.

经过一个多星期的研究并在文件不足的情况下(重新)指导,我决定在这里提出我的第一个问题.

计划的部署结构如下所示:

./install-root
????ProgramSuite1
?   ????bin
?   ?       DelphiNativeCOMClient1.exe
?   ?       DelphiNativeCOMClient1.exe.config
?   ?       DelphiNativeCOMClient2.exe
?   ?       DelphiNativeCOMClient2.exe.config
?   |       ...
?   ?
?   ????data
?           ...
????ProgramSuite2
?   ????bin
?   ?       DelphiNativeCOMClient3.exe
?   ?       DelphiNativeCOMClient3.exe.config
?   ?       DelphiNativeCOMClient4.exe
?   ?       DelphiNativeCOMClient4.exe.config
?   |       ...
?   ?
?   ????data
?           ...
????SharedLibs
    ????MyCompany.Libs.Set1
    ?       MyCompany.Libs.Set1.manifest
    ?       SomeManagedCOMServerA.dll
    ?       SomeNativeCOMServerB.dll
    ?       SomeNativeCOMServerC.dll
    ?
    ????MyCompany.Libs.Set2
            MyCompany.Libs.Set2.manifest
            SomeManagedCOMServerB.dll …
Run Code Online (Sandbox Code Playgroud)

.net c# delphi com winsxs

18
推荐指数
1
解决办法
1022
查看次数

以编程方式注册C#/ VB.NET COM DLL

问题:我有一个.NET dll,我在C++程序中使用它.现在我必须在部署计算机上以编程方式注册dll.

我该怎么做(以编程方式!不使用regasm)?我记得,当我曾经用C++ dll调用VB6 dll时,我不得不使用DllRegisterServer和DllUnregisterServer.

使用.NET dll还是这样吗?
看来我必须以某种方式将dllregisterserver函数添加到.NET dll中.

c# vb.net com dll com-interop

17
推荐指数
1
解决办法
1万
查看次数

缺少Embed Interop Type属性

在一个C#项目中,我收到以下警告:

警告CS1762:由于间接引用由程序集"ALibraryOfMine.dll"创建的程序集,因此创建了嵌入式互操作程序集"Interop.SomeLibrary.dll"的引用.考虑更改任一程序集上的"嵌入互操作类型"属性.

但是,在提供此警告的C#项目中,我没有在COM库引用属性上看到Embed Interop Types属性.这是在VS 2010中.在VS 2008 ALibraryOfMine项目中,同一个COM库也没有Embed Interop Types属性.我怎么能摆脱这个警告?我一直在得到"找到的程序集的清单定义与程序集引用不匹配"错误,我担心可能有不同版本的COM库,因此我想消除与COM相关的错误.

.net com interop warnings visual-studio

17
推荐指数
1
解决办法
2万
查看次数

有趣的"getElementById()只需1个参数(给定2个)",有时它会发生.有人可以解释一下吗?

#-*- coding:utf-8 -*-
import win32com.client, pythoncom
import time

ie = win32com.client.DispatchEx('InternetExplorer.Application.1')
ie.Visible = 1
ie.Navigate('http://ieeexplore.ieee.org/xpl/periodicals.jsp')
time.sleep( 5 )

ie.Document.getElementById("browse_keyword").value ="Computer"
ie.Document.getElementsByTagName("input")[24].click()
Run Code Online (Sandbox Code Playgroud)
import win32com.client, pythoncom
import time

ie = win32com.client.DispatchEx('InternetExplorer.Application')
ie.Visible = 1
ie.Navigate('www.baidu.com')
time.sleep(5)

print 'browse_keword'
ie.Document.getElementById("kw").value ="Computer"
ie.Document.getElementById("su").click()
print 'Done!'
Run Code Online (Sandbox Code Playgroud)

当运行第一部分代码时,它将弹出:

ie.Document.getElementById("browse_keyword").value ="Computer"
TypeError: getElementById() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)

并且第二部分代码运行正常.使结果不同有什么区别?

python com getelementbyid win32com

17
推荐指数
3
解决办法
7410
查看次数