com相关内容

[ComVisible] 默认和公共类 COM 暴露是怎么回事?

MSDN 有 这篇关于 [ComVisible] 属性.我不太明白设置 [ComVisible(true)] 时会发生什么. MSDN 说 默认为 true,表示托管类型对 COM 可见.公共托管程序集和类型可见不需要此属性;默认情况下,它们对 COM 可见.只能使公共类型可见. 所以他们说公共类型默认对 COM 可见.但他们也说只有公共类型可以通过设置[ComVisible(t ..
发布时间:2022-01-14 12:16:39 C#/.NET

在 Excel 中访问数据 - 来自 python 的路透社

我正在使用 Excel 中集成的路透社来检索市场数据.对于任务自动化,我目前使用 VBA,但现在我想切换到 python.pyxll这个包没有多大帮助,因为原理和VBA一样(我需要在Excel里面点击RUN按钮...)所以我正在考虑使用 win32com 从外部通过 COM 对象访问 Excel.但是,当我这样做时: from win32com.client import DispatchxlA ..
发布时间:2022-01-14 12:16:31 Python

在 IE 中挂钩 http/https 协议会导致 GET 请求是顺序的

我正在使用 PassthruAPP 方法挂钩到 IE 发出的 HTTP/HTTPS 请求. 它在大多数情况下运行良好,但是我发现了一个问题.一次只有一个下载线程处于活动状态,通常 IE 使用两个下载线程.我可以看到创建了两个 IInternetProtocol 对象,但 IE 一次只使用一个. IE7 会出现这种情况,我还没有尝试过其他版本. 问题似乎在于,当为其任何默认处理程序 ..

使用 COM 传递数组?

我是一个用 ATL 编写的 COM 对象,用于 C++ 应用程序,我想在两者之间传递一个 BYTE 数组.到目前为止,我对 COM/IDL 的体验仅限于传递简单类型(BSTR、LONG 等). 有没有一种相对简单的方法可以让 COM 对象将数组传递给调用者?例如,我想传递原始图像 (TIFF) 而不是弄乱临时文件. 解决方案 尝试将 safearray 变体传递给 COM 对象.像这 ..
发布时间:2022-01-14 12:16:12 C/C++开发

更改 Excel“外部数据"连接字符串

我们目前在 Excel 2003 中使用数据透视表来进行报告.这些数据透视表使用内置的“导入外部数据"Excel 功能从 SQL(准确地说是 SQL server 2008)提供报告. 报告目前指向我们的英国数据库,但我们现在想要为指向我们新的美国数据库(与英国数据库具有相同架构)的每份报告制作副本. 与其费力地检查近 100 个电子表格,我希望有一点 COM 自动化,我可以使用它来更 ..
发布时间:2022-01-14 12:15:52 C#/.NET

COM如何选择如何编组接口?

据我所知,在 COM 中实现编组的三种方法: typelib 编组 代理/存根编组 通过对象实现 IMarshal 现在组件consumer(用户)如何选择使用哪一个?它是自行决定并使用首选方式,还是调用一些内置函数并为它解决问题? 我目前遇到以下情况:我的组件实现了一个自定义接口ICustomInterface,该接口也由另一家公司的组件实现.我的组件没有类型库,也没有实现 ..
发布时间:2022-01-14 12:15:44 其他开发

为什么我们不能使用“虚拟继承"?在 COM 中?

我读过一些模糊的声明,虚拟继承没有't 提供了 COM 所需的内存结构,所以我们必须使用正常的继承.发明虚拟继承是为了处理钻石问题. 谁能告诉我这两种继承方法之间内存结构细节的差异?以及虚拟继承不适合 COM 的关键原因.最好有图片. 非常感谢. 解决方案 COM 接口在某种程度上很像 JAVA 接口——它们没有数据成员.这意味着当使用多重继承时,接口继承与类继承是不同的. ..
发布时间:2022-01-14 12:15:36 C/C++开发

在没有 ATL 的情况下实现 COM IDispatch

我正在编写一个 Excel RTD 服务器实现,但我被困在实现 IDispatch 的 coclass 的样板文件上.我无法访问 ATL,但我正在使用 ActiveQt,尽管我也对如何在原始 C 或 C++ 中执行此操作感兴趣.如何在 COM 服务器中正确实现 IDispatch 方法? 文档一如既往地糟糕透顶.到目前为止我读过的内容: 最好委派IDispatch 方法调用一些 ITy ..
发布时间:2022-01-14 12:15:27 C/C++开发

是否有“getopt"的实现?德尔福?

在 C/C++ 中使用 getopt() 解析命令行参数并不容易. Delphi 有类似的东西吗?或者理想情况下,使用相同的语法?我知道 Delphi 支持 FindCmdLineSwitch 和 ParamStr(),但它们仍然需要一些额外的解析. 我想要像 C 中的 getopt() 一样工作的东西.可以轻松实现基本切换开关以及在切换后捕获值的东西.请参阅下面的一些示例 C 代码以 ..
发布时间:2022-01-14 12:15:10 其他开发

DCOM 中的模拟如何工作?

我有一个使用 OLE 自动化编组器的 DCOM 客户端和服务器应用程序.它们在同一台 PC 上运行时工作正常,但当服务器位于不在同一域中的另一台 PC 上时,我得到 E_ACCESSDENIED (0x80070005). 服务器 PC 配置了 dcomcnfg 以将对任何 DCOM 对象的所有访问权限授予我在客户端上指定其登录名和密码的用户.ServerApp 及其类型库在服务器端注册. ..
发布时间:2022-01-14 12:15:02 其他开发

在 .NET 中与 COM 交互之前是否需要调用 CoInitialize?

我知道每个线程调用的 COM 要求 CoInitialize 在与 COM 系统交互之前. .NET 公开了一些在线程内部操作的项目,例如: ThreadPool 线程 异步委托(使用线程池线程) BackgroundWorker 类(使用异步委托(使用线程池线程)) 垃圾收集器 还有更多!(例如) 如果我要通过线程与 COM 对象交互,我是否需要调用 CoInitial ..
发布时间:2022-01-14 12:14:51 C#/.NET

Visual Studio 2010 64 位 COM 互操作问题

我正在尝试将 VC6 COM DLL 添加到我们的 VS2010RC C# 解决方案中.DLL使用VC6工具编译生成x86版本,使用VC7跨平台工具编译生成VC7 DLL. 只要将使用 C# 项目的平台设置为 x86,x86 版本的程序集就可以正常工作.DLL 的 x64 或 x86 版本是否实际注册并不重要.它适用于两者.如果平台设置为“任何 CPU",我会在加载 Interop. ..
发布时间:2022-01-14 12:14:42 其他开发

BSTR 和 _bstr_t 有什么区别?

谁能解释上面提到的类型之间的区别以及一些示例用法以清楚地解释两者之间的区别? 任何帮助将不胜感激!注意:这个问题是 this other question 解决方案 BSTR 是 COM 使用的字符串数据类型. _bstr_t 是一个像智能指针一样工作的包装类,因此当变量被销毁或超出范围时,它将释放分配的内存._bstr_t 还具有引用计数,每次按值传递 _bstr_t 变量时 ..
发布时间:2022-01-14 12:14:13 C/C++开发

如何在 Visual Studio 2008 中创建 COM DLL?

自从我编写 COM dll 以来已经有好几年了.我现在已经创建了几个类,它们继承自一些 COM 接口,但我想测试一下.我知道我必须在某处放置一个 GUID,然后将其注册到 regsvr32,但涉及的步骤是什么? 编辑:抱歉,忘了说我使用的是 C++. 解决方案 要创建一个新的 ATL COM 项目,您可以执行以下操作: 文件/新建项目 Visual C++/ATL/ATL 项 ..
发布时间:2022-01-14 12:14:04 C/C++开发

什么是 COM?

我努力搜索,但无法掌握整个想法.谁能告诉我: COM 究竟是什么? GUID 如何工作,COM 如何使用它们? COM如何解决不同DLL版本的问题. 或者至少,给我指出一篇解释这些概念的好文章?谢谢! 解决方案 COM 是“组件对象模型".它是最早设计用于允许“二进制重用"组件的技术之一……最初,它是对 Microsoft Office 大约 1988-1992 年的时间框 ..
发布时间:2022-01-14 12:13:42 其他开发

如何选择 Java-COM 桥接器?

我必须创建一个自动执行 Outlook 和 Word 的应用程序,并且我想使用 Java 来完成该任务.(唯一允许的替代方案是 VB6,所以...) 通过 Google 快速调查后,我发现了几个库,但我不确定要使用哪一个: J-Interop SWT 雅各布 COM4J jacoZoom ... 我不知道如何比较这些库并做出明智的决定.似乎 COM4J 有点过时,JAC ..
发布时间:2022-01-14 12:13:34 Java开发

在 Visual C++ 中替换 #import

我们有一个大型 C++ 项目,我们使用/MP 开关进行编译以利用多个内核. 但是,我们最近引入了一些在几个 tlb 上使用 #import 的代码,而 #import 与/MP 不兼容,这意味着我们又回到了单线程构建,并且有更多的时间来喝咖啡. 关于如何让#import 和/MP 发挥出色的任何建议?是否有工具可以从 #import 作为预构建步骤静态生成 C++ 标头? 更新: ..
发布时间:2022-01-14 12:13:27 其他开发