Com 奇异的VB6制造问题-以前使用相同的代码赢得';t重新编译

我犯了一个非常奇怪的错误,任何人都能对这个错误有所了解,我将不胜感激 我对构建COM对象的VB6源代码做了一些更改。生成我们的应用程序的自动生成返回了一个错误。没问题,我想--我会把我的更改退出来的。嗯,撤销我的更改并不能解决问题 特别是当我试图通过.vbg文件构建应用程序时,使用类似于path\to\vb6\vb6 ProjectFile.vbg/make的命令行 我收到一条消息 文件“”中的编译错误,第行:对象库 无效或包含对无法删除的对象定义的引用 找到了。” 正如我所说,我还原了源代码,

Com 监视并记录两个exe';

我有两个应用程序,A.exe和B.exe。 B.exe实现各种COM接口,并由A.exe使用 我是否可以查看并记录从A.exe到B.exe的所有调用 谢谢, Peter你看到这个问题了吗?非常感谢,我会看看ComTrace。我推荐这个问题:

Com 在自己的应用程序中包括Microsoft Office拼写检查器

不久前,我听说微软Office拼写检查器可以通过其COM接口包含在自己的应用程序中。有人记得细节吗?是哪个dll,还是哪个ActiveX对象?一个月前我一直在研究这个问题。这似乎是可能的,但如果我记得很清楚,自2003年以来,可嵌入COM组件已被删除。如果你想这样做,你必须寻找旧版本。不幸的是,我没有任何链接,但我花了几分钟在微软论坛上找到了合适的解释 我一直在评估一些具有拼写检查支持的商业编辑器,因此我们将购买其中一个 顺便说一句,我需要多种语言,所以我寻找了微软的替代品,但对于英语和其他两种

检测Ref计数COM对象上的内存泄漏(Addref未释放)

我正在编写Direct3D 10应用程序,希望确保没有COM对象泄漏 是的,我正在用CComPtr包装接口,但我还是希望进行泄漏检查,原因与我仍然使用普通的堆分配泄漏检测器相同,即使RAII和智能指针保证不会泄漏:有时(特别是在与Direct3D等C库接口时)您必须退回到较低的抽象级别,并使用原始指针、new、delete,这样您就会犯错误。(更不用说对Release()的某些调用在程序结束时不返回0) 在包含atlbase.h之前,我已经定义了ATL调试接口,但输出窗口中没有显示任何内容!要使

Excel 2007僵尸进程不是COM自动化,而是引用第三方COM对象

我正在开发一个应用程序,它在前端使用Excel,通过第三方API通过COM访问远程数据。该应用程序直接在Excel VBA中编码(即Excel没有COM自动化)。有时,用户在运行我的应用程序后退出时,Excel不会退出,从而创建一个消耗约50%CPU的僵尸Excel 我已经阅读了现有的“Excel不会退出”答案,所以-它们似乎都与Excel的Interop/COM自动化有关。在这种情况下,有没有关于如何确保Excel退出的建议?我开始相信,由我的代码创建的COM对象没有得到正确处理,从而阻止Ex

Com 错误:QueryInterface';:函数不接受1个参数

GFXComShapeObjectsLib::IAIFileReaderPtr spAIFileReader m_pObj->查询接口(&spAIFileReader) 错误C2660:'CAIFileReader::QueryInterface':函数不接受1个参数 如何解决?QueryInterface应该有两个参数,一个是查询接口的标识符,一个是接收请求的接口指针的指针变量的地址。您可以在线参考MSDN:

“什么是”呢;“远程处理”;在COM中?

我从未直接使用过COM,尽管我已经是一名专业的.NET程序员3-4年了;我试图理解COM到底是什么,做什么。查看[COM]的SO标记wiki,它提到:“组件对象模型(COM)是微软的一项组件技术,以远程处理为特色。(我的重点。) 在此上下文中,“远程处理”是什么意思?此上下文中的远程处理指 .NET远程处理允许应用程序使对象(称为远程处理对象)跨远程处理边界可用,远程处理边界包括不同的应用程序域、进程,甚至网络连接的不同计算机 本文中的远程处理指的是 .NET远程处理允许应用程序使对象(称为远程

VirtualBox COM API-创建克隆VM时出错

尝试使用以下代码(C#)创建克隆的VM,但失败: VirtualBox.VirtualBox box = new VirtualBox.VirtualBox(); //create a new machine IMachine machine = box.CreateMachine(null, "MyClone", null, null, "forceOverwrite=1"); box.RegisterMachine(machine); //Lock machine for editing

COM类而无法实例化

MSDN: “您为提供实例化的每个(COM)对象类实现一个IClassFactory接口。” 创建没有类工厂的COM类有用吗?IClassFactory用于调用方直接实例化的对象,例如使用CreateObject或CoCreateInstance,或GetObject 通过从创建的对象间接获取其他对象,可以获得这些对象 例如,VB或VBScript中的Scripting.FileSystemObject是直接创建的。您可以使用这些方法获取无法直接创建的文件或文件夹对象。而是由FileSystem

在64位组件中注册32位COM类

我已经使用为Windows资源管理器外壳构建了一个ContextMenuHandler。该程序集是为任何CPU构建的,即在MSIL中,因此可以作为32位和64位运行 我打算仅在64位windows上运行此程序,但是,windows 64上的32位应用程序仍然使用32位版本的shell来打开对话框等 我已经在两种体系结构(32和64)上使用regasm工具手动注册了此程序集,它在64位windows资源管理器中运行良好。它还可以在32位应用程序中从文件打开和其他shell提供的对话框中工作。这是我

COM是否提供了在所有RPC完成之前延迟关机的方法?

我有两个进程:一个客户端和一个服务器。客户端发出呼叫,服务器开始处理该呼叫,但服务器可以在呼叫完成之前开始关闭。这可能会导致调用所需的对象突然被破坏,从而导致崩溃 客户端和服务器通过COM进行通信。在这种情况下,告诉给定服务器进程之间当前活动的RPC数量将非常有用 COM作为这两个进程之间的通信层,是否有助于在它们之间存在活动交互时延迟关机?我不知道使用了哪种语言来实现COM客户端/服务器 但据我所知,您似乎面临COM多线程问题。COM服务器的线程模型是什么?(我想它是多线程的) 如果是这样,你

Com 在VSTO中获取图片和内容占位符中所选形状的类型失败

当运行以下VSTO代码片段时,我得到一个COM异常 if (param.SelectedShape.Type != MsoShapeType.msoPlaceholder) { //Stuff is happening } 尝试读取SelectedShape的Type属性时发生异常 我们在PowerPoint(Office 365 ProPlus)中使用此代码已经运行了很长一段时间,但在构建9126.2210(工作)和构建9330.2087(不工作)之间的某个地方,它崩溃了 当查看发行说明时,

Com 如何可靠地判断两个Inspector引用指向同一个Inspector实例?

[续自] 我从两个不同的来源获得了对Inspector对象的引用,并且需要能够区分一个来源中的哪个项目对应于另一个来源中的哪个项目。然而,到目前为止,我所能想到的方法都不起作用(可靠): 我不能这么做,因为inspector.Item()方法返回的是对动态创建的代理对象的引用,而不是inspector实例本身。试试看:访问同一个索引两次将返回两个截然不同的指针 比较Inspector.CurrentItem.EntryID也不好。新的/未保存的项目“EntryID始终为空,并且一次可能打开多个

Com 在Windows7上,regsvr32不';无法写入HKCR\CLSID

我在VisualStudio2008中使用ATL向导创建了一个新的简单COM对象。对象只有一个类和简单的方法。ATL向导确实为我的类生成了.rgs-文件 当我在我的XP机器上运行regsvr32 Simple.dll时,类被注册,信息显示在HKCR\Simple.SimpleObject和HKCR\CLSID\{guid}中 然而,在我的64位Windows7机器上,情况却不一样。我以管理员身份运行regsvr32,HKCR\Simple.SimpleObject中的部分显示出来。但是HKCR\

Com 为什么IDirect3DDevice9::Release会返回S_FALSE?

当我为我的Direct3D9设备调用Release方法时,它返回S_FALSE,但是我找不到任何东西来解释为什么会返回这个值 据我所知,S_FALSE意味着它已经成功了,但除了我只发布一次外,没有做任何事情 我也不认为该方法会成功,因为即使在窗口被破坏和设备被释放之后,我仍然会有一个全屏DirectX窗口。IUnknown::Release不会像您假设的那样返回HRESULT,而是返回一个ULONG,指示此COM对象的未完成引用计数。Ah,我发现我并没有发布一个我的纹理,它会有一个参考。这导致R

Com VSTO 2007 outlook加载项崩溃

我正在使用COM创建VSTO 2007 outlook加载项。它从outlook读取所有邮件项,并将未送达的邮件项标记为未送达 我使用下面的代码将未送达的邮件标记为未送达。用可读颜色标记的代码有时会崩溃。请告诉我这个问题 HRESULT hrGetSelectedItem LPDISPATCH spOlSelectedItem = NULL; CComPtr<Outlook::_Explorer> s

寻找创建COM DLL(Active X)的简单方法

上一次我这样做时,我使用了Visual Basic 6—我不再有访问权限 我只是选择了Project/New/activexdll并编写了几行代码(这是一个非常简单的DLL) 现在我需要创建另一个,也非常简单,我有问题,因为我没有VB6了。我只是不明白所有这些GUID的东西,clas库等等 我不在乎哪种语言,但是有人能推荐一个IDE吗?我可以简单地创建一个新项目并编写几行代码(一个打开串行端口、读取、关闭端口并返回读取内容的函数)——而不必担心GUI和类库之类的问题 提前谢谢 [更新]谢谢@H

如何在VisualD中编写示例COM服务器

我正在努力使一个简单的COM服务器在Visual D 2010中运行。以下是我迄今为止所做的步骤: 类型动态库(DLL)的干净Visual D 2010解决方案 我已将dserver.d的内容复制到dllmain.d 我已将文件chello.d和dserver.def以及advapi32.lib和ole32.lib从\dmd2\windows\lib复制到解决方案的源文件夹中 我已经将复制的文件添加到解决方案中,方法是在解决方案资源管理器中右键单击该项目,然后添加->现有项 将文件dserver

列出计算机中所有打开端口的COM接口

并提供对进程的绑定。 我知道netstat会这样做,但我对COM很感兴趣,所以我可以使用DCOM远程访问这些信息,并有效地设置权限 理想情况下,我会使用WMI。我检查了(几乎?)所有的表,没有找到一个包含此信息的表 谢谢。您需要编写一个位于每台计算机上的组件,当通过DCOM启动时,它将创建一个子控制台进程,但将其输出重定向到管道,然后在该子进程内启动netstat。然后可以通过管道中的输出进行解析。我做了一些类似于捕获远程机器上运行的遗留应用程序的控制台输出的事情,所以这是可能的 DCOM安全性

Com 在x64上托管PreviewHandler会使REGDB_E_CLASSNOTREG

所以是这样,, 我用的是, 我想在桌面应用程序中使用PreviewAndlerHost控件 我成功地做到了这一点,并在XP 32,64位和Vista 32,64位上进行了测试 该问题仅出现在XP x64上,这是异常消息 无法强制转换类型为的COM对象 “系统.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu “MyApplication.IPreviewHandler”。这 由于Quer

Com IDXGIObject::GetParent和Release

IDXGIObject具有获取指向其父对象的指针的函数。不幸的是,文档没有说明我是否必须在返回的接口上调用Release()——调用或不调用它在调试/发布中都可以正常工作(也就是说,没有崩溃),但我想知道我是否应该发布。知道这应该如何工作吗?来自“如果返回的数据是指向IUnknown的指针或其派生类之一,以前由IDXGIObject::SetPrivateDataInterface设置,则必须在释放指针以减少引用计数之前对指针调用::Release() 我建议从“如果返回的数据是指向IUnkno

Com 将对象嵌入Microsoft Word和OpenOffice Writer

我正在寻找一些关于如何实现以下功能的参考资料: 能够将对象(如图表)嵌入文字处理器,并能够在各自的“母”应用程序中编辑它们 例如,MS Word和Visio这样协同工作,允许用户在将图表添加到文字处理器后轻松编辑/调整图表 我对如何在以下平台上实现这一点感兴趣: 微软Word 开放办公室 到目前为止,我知道: Microsoft Word--使用OLE/COM 开放式办公室——用途 你能给我指一些关于如何处理这个问题的参考资料、例子和书籍吗 PS:每次我试图在MSDN上搜索这个,我都会觉

Microsoft COM主体的组信息

在COM世界中的Java程序员,如果术语不太正确,提前道歉 我的Java应用程序将接收来自COM组件的消息,该组件由一些COM开发人员编写。他们希望在消息中包含一些主要信息。根据这些信息,我将做出授权决定 如果我知道委托人指示的用户所属的Active Directory组,并且我确信Active Directory正在目标环境中使用,那么我的授权决策就很容易做出。在我的Java代码中,我可以轻松地进行LDAP调用以从Active Directory获取信息 COM的人说他们会打电话来获取一份工作

使用和派生另一个COM库中定义的接口

我在VisualStudio中有两个C++ COM项目。在ProjectA中,我用MIDL定义InterfaceA。在ProjectB中,我想定义从InterfaceA继承的InterfaceB。这是否可以在不从ProjectA导入IDL或H文件的情况下实现 下面是代码的布局,这可能更清楚。这些库很大,所以我将它们放在单独的文件中,以便于维护 项目A 接口a.idl CoclassA.idl 项目a.idl 项目B 接口b.idl CoclassB.idl 项目b.idl 我觉得我想做的是不可能

C#COM互操作和应用程序.DoEvents()

我找到了以下代码,并尝试在COM模块中实现它: public Bitmap GetThumbnail() { ThreadStart _threadstart = new ThreadStart(GenerateThumbnail); Thread _thread = new Thread(_threadstart); _thread.SetApartmentState(ApartmentS

Com 在客户端计算机上检测特定软件的版本,动态加载互操作程序集并使用

在我的例子中,我需要两个软件来检测客户端计算机上的版本,加载必要的互操作程序集并使用它们: Microsoft Office(Excel) MapInfo专业版 原因是,当我在开发应用程序时从我的计算机添加引用时,客户端计算机可能没有该版本,因此应用程序在客户端的运行时失败(通过提供有关软件版本的错误)。例如,我使用MS Office 2010,但用户的计算机上有MS 2007;或者我使用MapInfo 11.5,但用户可能有MapInfo 8.5,等等 感谢您的帮助。访问注册表项:HKEY

Com 方法';添加';类';文件';返回错误代码0x800A175D(<;未知>;),表示:<;未知>;

我正在尝试打开AX 2012报告中的word模板。它在我开发的环境中运行良好,但是当我尝试从不同的登录执行相同的操作时,我会遇到“COM错误” 请提供帮助。通过解码这些神秘的办公室错误代码,您总能找到帮助。COM错误代码包含三个主要部分: 前4位表示错误的严重性。8的意思是“警告”,一个你不能忽视的警告 接下来的12位是设备代码,即错误的来源。10表示“自动化” 较低的16位是内部错误代码,这是您真正关心的错误代码 将计算器切换到十六进制模式,0x175d是错误代码5981。现在转到谷歌,查

错误-2147417848位于VB.Forms.Add通过COM调用

我有一个.NET应用程序,它引用了VB6遗留DLL。旧DLL有一个带有公共方法的类。在该公共方法中,它试图按名称查找现有表单,如果不存在,则创建该表单: Set objForm = GetForm(strFormName) If objForm Is Nothing Then 'Creates a new instance of the form Set objForm = VB.Forms.Add(strFormName) End If 。。。其中GetForm是: P

COM引用计数-相互依赖对象

我有两个COM对象(我们称它们为Control和Job)。控件是可协同创建的,作业对象由Control.NewJob()创建 控件有一个方法Control.Start(job),该方法使指定的作业成为当前作业。只要未设置其他作业,它将保持当前作业 现在,对于客户端,以下行为对于这些特定控件来说似乎是合理的: 只要它的一个作业存在,控制就存在 (琐碎:作业对其创建的控件具有强引用) 只要客户机具有对控件或其当前作业的引用,都不会被销毁 (“平凡”:CurrentJob是一个强引用) 在发布引用之

什么.NET类型封送到COM单元? < >我在声明一个接口,它将暴露在COM中供C++使用。我们的规范规定一个整数参数应该是[in]UINT uiVal。我在C#中使用了int,它被公开为long

这没什么大不了的,但是我怎样才能迫使马歇尔使用UINT而不是long?某个特定的.Net类型,或者我是否需要以某种方式向C参数添加属性?UINT是Windows SDK中的类型别名,您永远无法从类型库中获取它。翻译类型库的工具,如您正在使用的#import指令,选择本机C类型。历史起了作用,COM最初是为16位版本的Windows设计的。当long对于声明32位整数很重要时 声明中的代码> u> ,它将被转换为C++代码中的未签名的长< /代码>。这很好,它仍然是32位类型,微软选择了64位代码

Com 远期申报与补偿

我有一个简单的例子: struct ID3D11Buffer; class Object3D { Microsoft::WRL::ComPtr<ID3D11Buffer> indBuffer; // use of undefined type 'ID3D11Buffer' in VisualStudio 2013 std::shared_ptr<ID3D11Buffer> a; // ok } struct ID3D11Buffer; 类Object3

查找具有进程ID或MainWindowHandle的多个实例的COM对象(Corel.Application)

我有一个客户机-服务器应用程序执行下一步: 服务器启动并侦听特定端口。 许多corelDraw sessions手动或编程启动。每个corel会话(客户端)连接到发送当前进程ID的服务器。服务器将所有连接保留在listView中,并且基于每个连接端点可以更改(发送和接收)消息。 现在我想使用特定进程ID的COM对象。 我试过: 有没有办法获得corel COM对象,让我有机会像那样使用corel.Application对象 MessageBox.Show(corApp.Documents.Cou

团队客户端的COM对象-Microsoft.Office.Uc

我正在尝试访问Microsoft Team clientCOM对象。 因为Skype For Business与PowerShell中的Lync客户端对象是可能的 正好相反 此代码导致当前Lync/Skype用户存在 $teamsClient = [Microsoft.Office.Uc.IUCOfficeIntegration] $teamsClient.GetInterfaces() 下面是一篇小文章 我甚至无法在Get ChildItem HKLM中接收Com obj列表 仅在Get

Com ActiveX组件无法创建对象

我们在vbexample.dll中将函数名“aaa”改为bbb,并注册到VB应用程序中。注册后,它将在我的本地PC上执行。之后,当我生成该VB应用程序的构建并在另一台PC上测试它时,它不工作。我得到的信息是:“ActiveX组件无法创建对象” 如何在另一台PC上实例化COM对象?如果你在一台电脑上重建应用程序,然后将其移动到另一台电脑上,很可能是VB用另一个IID构建的,而另一台电脑无法识别它

Com VB6 ActiveX DLL在终端服务器2008上运行缓慢

我有一个VB6 ActiveX DLL,在我们所有的机器上运行了好几年 最近,我们的IT经理设置了多个位置,以便将它们远程连接到终端服务器2008,并运行访问终端服务器上my DLL的程序,以便它们的数据库位于公司网络的本地。我的DLL在终端服务器上运行得非常慢。在终端服务器上运行时,本地计算机上大约需要5秒的时间需要30秒 我的DLL函数之一是在XML日志文件中记录消息。当DLL记录它的第一条消息时,它通过创建日志DLL来初始化日志,然后如果日志对象不是nothing,它将记录消息。当日志DL

如何在AutoIt中提前绑定COM对象?

我的一位同事声称,不能在AutoIt中提前绑定COM对象。这是真的吗?AutoIt即使在编译时也是一种解释语言。编译的实际过程只是将代码嵌入到解释器中(将一些预处理器元素分类,如includes) 因此,绑定不能在编译时完成,因为没有编译时。这意味着以下内容将很好地编译,并且不会检测到任何错误 $oShell = ObjCreate("shell.application") If False Then ConsoleWrite($oShell.LolWut & @LF) 运行它,什么也

Com &引用;mshtml.HTMLWindow2Class.document“;抛出System.UnAuthorizedAccessException。

我正在使用mshtml.HTMLWindow2Class.document属性检查网页的状态。但我一直得到以下例外: System.UnAuthorizedAccessException 有人知道怎么修吗?我想可能mshtml的某些权限配置不正确,但我不知道检查和配置它的详细步骤 也许我可以这样说: 如果COM组件缺少某些权限,我如何授予它 谢谢 我有类似的问题,访问System.Form.WebBrowser对象的属性文档,即HtmlDocument。我不确定你的情况,但我看到的另一个情况是

Com 在快照视图中查找文件的本地副本

我在一个工具中使用ClearCase自动化库(CAL),帮助我跟踪未整合的更改;现在我想扩展这个工具,这样我也可以通过它进行签入 对于此功能,我需要查找快照视图的本地副本。虽然我可以询问CC哪个视图附加到某个目录,但我似乎找不到一个函数来查找给定视图的本地目录;此外,要确定快照视图是否在本地存在,最可靠的方法似乎是将HostName属性与本地计算机名进行比较 因此:给定IClearCase接口,如何查找存在快照视图的所有目录?我确认,只有知道快照视图的视图标记时,才能找到快照视图的根目录:如果需

IntPtr与COM中的任何组件

我正在开发一个COM对象,它应该在C#和VBScript中工作。它还必须支持32位和64位 我的问题是指针。请参阅我的.IDL的一部分 HRESULT Copy([in] PTRTYPE destAddr, [in] PTRTYPE srcAddr, [in] int bytes); 如果我将PTRTYPE声明为void*,c#将它们视为IntPtr,而VB6/VBScript将它们视为“任意” 这种方法的问题是,我无法使用“任何”类型参数进行更简单的指针数学运算 如果我将PTRTYPE声明

通过预定义的COM接口传递自定义数据

我正在使用第三方COM服务。它是从.NET程序集中公开的。这个服务提供了几个接口,实际上我可以在C++应用程序中使用(使用早期绑定)。实际上,我想知道是否有可能使用这些接口传递自定义数据,也就是说,对于我来说,这些接口提供的内容还不够,我想在那里添加一些额外的数据/方法(尽管接口不是我的,因此我无法更改它)。如果可能,请提供建议,如果不可能,可能有一些解决方法(示例将非常有用) 我试图了解是否有可能通过第三方COM服务将自定义数据从我的生产者传递给我的消费者。可能我需要创建自己的接口,其中包含我

C++以外的非托管COM兼容语言

阅读: 可以从任何非托管COM兼容语言调用分析API 除了C++和VB6之外,什么非托管的COM兼容语言是可用的?< / P> < P>这些是我知道的,请大家自由编辑更多的答案。 你提到前两个 C++是基于Windows/英特尔C++的ABI。 Delphi/Object Pascal提供了出色的本机支持。 VB6支持最常用的构造 C能够使用COM,但是需要做很多工作。 MS实现中的VBScript和JavaScript至少支持自动化子集。 Jython有一些COM支持,但我不知道这是否仅限于自

Com MFC GUI的E_NOINTERFACE不适用于Win32控制台应用程序

使用VS2010和Microsoft SDK v7.0a在Win7 SP1下运行。如果我为Win32 console应用程序创建VS2010项目,则在regsvr32.exe注册的COM DLL上的CreateInstance会成功。如果我为MFC GUI创建VS2010项目,则相同的CreateInstance会失败,并出现E_NOINTERFACE。尝试了Unicode和多字节,对Win32控制台应用程序都有效,对MFC GUI都失败。这怎么可能 如果我通过Win32控制台应用程序执行F11

Com C++;互操作:在UDT中嵌入数组

我有一个应用程序,它涉及托管(C#)和非托管(C++)代码之间的大量通信。我们使用的是VisualStudio2005(!),我们使用由tlbimp自动生成的互操作程序集 我们很幸运地将简单结构作为函数参数来回传递。由于我们的对象相当简单,我们可以使用IRecordInfo接口将它们打包到安全阵列中。将这些数组作为参数传递给COM方法似乎工作正常 我们希望能够在UDT中嵌入可变长度数组,但这失败得很严重。我想我找不到一份文件来说明某人是如何做到这一点的。我也没有找到文件说这是不可能做到的 1)

Com Windows脚本文件-Microsoft JScript运行时错误:类型不匹配

我正在尝试运行一个预构建的.wsf文件,它对我的同事来说似乎工作得非常好。但是,我似乎得到了一个错误: D:\startup.wsf221,8 Microsoft JScript运行时错误:类型不匹配 请给我一些建议 谢谢。在您的示例中,PortNumber似乎是一个字符串,而不是数字。尝试像QXDM.COMPort=parseIntPortNumber这样的方法;嗨,伊戈尔,谢谢你的建议。问题是PortNumber从未被赋值,因为它的读取错误。值保持为-1,因此出现问题。现在修好了。 var

有没有办法取消并重新启动COM对象中的函数?

我的软件现在如何工作: Private Sub txtFind_Change() lvResults.ListItems.Clear m_customer.CancelFind #' Not useful frmMain.appData.Licfile.Find(txtFind.Text, AddressOf FindCallback, ObjPtr(m_customer)) End Sub Public Function CancelFind() If m_b

IOleCommandTarget.QueryStatus:支持但未启用SaveAs命令

我一直在使用IOleCommandTarget.Exec()在InfoPath表单上成功执行SaveAs命令。但是,它在客户端计算机上失败,因为IOleCommandTarget.QueryStatus()只返回一个值OLECMDF\u SUPPORTED。要使用该命令,需要同时支持OLECMDF\u和启用OLECMDF\u 是什么原因导致命令未启用 命令不可用的原因是表单上未选中文件->表单选项->填充功能->保存和另存为

Com 使用msxml6/IXMLDOMDocument2删除XML声明

我只想使用C++/COM从XML中删除XML声明- <?xml version="1.0" encoding="UTF-8" ?> 使用msxml6 如何实现此目的?使用IXMLDocument::xml属性并将字符串保存到文件中。谢谢。ccombstrxml;hr=prootement->get_xml(&bstrXml);

Com 使用VIX从VMWare vSphere获取性能计数器?

我可以使用VMWare PowerCLI通过命令行获取CPU使用率,比如get stat-entity$vm-realtime-maxsample$n-stat CPU.usage.average 据我所知,PowerCLI使用VMWare VIX API与vSphere服务器通信 但我找不到允许我获得这种性能计数器的VIXAPI方法 我错了吗?还是应该使用完整的VMWare SDK而不是VIX来获取性能数据?多谢各位

GetDocumentation for ITypeInfo能否在单个COM类型库中返回多个帮助文件

ITypeLib.GetDocumentation似乎会返回库的帮助文件路径。而ITypeInfo.GetDocumentation似乎会返回该类型的帮助文件路径 TypeInfo是否可能具有与库的帮助文件或库中的其他TypeInfo不同的帮助文件?或者所有库类型的帮助文件是否始终是库的帮助文件 是否有在单个库中定义了多个帮助文件的Microsoft类型库的示例?否。没有任何方法可以为类型库编写IDL,只有在库关键字上才有效。请注意以下评论: 库中的所有类型共享相同的帮助文件 也可以从IType

Com 将.NET对象从VB6传递到.NET时出现问题

我们有一个由第三方创建的.NET dll“a”。它通过tlb向我们的VB6 exe应用程序公开类 我们也有自己的.NET dll“B”,它引用.NET dll“A”。“B”还通过tlb向VB6 exe应用程序公开类 现在,VB6应用程序在VB6代码中使用任何一个库中的类都没有问题,直到我们尝试调用“B”中具有“a”参数类型的函数为止。在这种情况下,我们会得到一个错误430或一个错误,它说“无法将'system.\u comobject'类型的com对象强制转换为'type.From.Dll.A'

  1    2   3   4   5   6  ... 下一页 最后一页 共 30 页