.NET组件控件
如何从经典的ASP调用COM对象?我试着努力,但找不到一个很好的教程。任何建议? 我在经典的ASP中使用C#。 解决方案 如果您使用的是JavaScript: var obj = new ActiveXObject(“Some.Object”) 例如,请参阅此页面: http://www.webreference.com/js/column
..
我在我的测试中有以下代码Delphi 2006 BDS应用程序: procedure TForm1.Button1Click(Sender:TObject); const olMailItem = 0; var Outlook:OleVariant; vMailItem:variant; begin Outlook:= CreateOleObject('Outl
..
我正在开发一个DirectShow CSource捕获过滤器。它工作正常,但当我关闭使用过滤器的程序(在这种情况下,我使用VLC测试,但同样发生在其他程序),程序崩溃(如果我在Visual Studio中调试它,然后一个断点被触发)。 我一直在捕捉这个问题一段时间,发现我的源过滤器和我的源码流都没有被释放;这是,他们的引用计数器是1在程序结束时,DllCanUnloadNow()函数报告有2
..
这些天,我尝试在我的程序中创建一个hiden WebBrowser控件,并使用IViewObject接口绘制到我的自定义DC。 结果很好,我got所有我想要的内容,但绘制速度是不能接受的,特别是一些复杂的网页包含Flash对象,每个绘制到DC成本超过100毫秒。所以我绘制的闪光对象不光滑。 有快速的方法可以将控制权绘制到我的特定DC吗? my code sinpet就像这样:
..
我已经实现了一个IFilter作为本地VC ++ ATL in-proc COM服务器。 Windows搜索不会使用它 - 它创建一个我的IFilter的实例,然后执行一堆QueryInterface()调用,具体: IMarshal IStdMarshalInfo 与{4C1E39E1-E3E3-4296-AA86-EC938D896E92}介面ID > 和其他几个。因为我的IF
..
我有两个虚拟机,我希望(Wix)安装我的软件。一个是Windows XP SP2,另一个是Windows XP SP1。 运行RegAsm.exe在具有SP3的计算机上注册MyApp.dll会将我的文件夹中的ProgId: HKEY_CLASSES_ROOT\MyAppProgId HKEY_LOCAL_MACHINE \Software \Classes \MyAppProgI
..
我已经标记我的DLL为vsdraCOM,我可以看到它在注册表中安装后,但我的应用程序看不到COM接口,直到我手动调用RegAsm。为什么会这样? COM注册在Vista(确认自己)和XP(由同事确认)上不起作用。 在XP上使用Visual Studio 2005. 解决方案 好,我找到了一个解决方案: 使用/ regfile选项运行RegAsm.exe以生成注册表项。 手动
..
> 可以更改卷的名称。 我将名称更改为脊髓磁盘 要更改网络名称,请执行 在注册表中写入新名称。 使用像DefineDosDeviceW这样的功能附加我的网络卷。在这个时间,Windows资源管理器读取我的猜测注册表。 SHChangeNotify(SHCNE_DRIVEADD,SHCNF_PATH,root,NULL); //确定。 SendMessageTimeou
..
我使用 regsvr32 MyCOM.dll 为我的应用程序注册我的com对象。这工作正常在我的管理员帐户。如果将用户切换到非管理员,则程序失败。看来,没有为非管理员用户加载COM对象。 感谢 解决方案 COM对象需要由管理员用户注册,通常。 (有一些细微之处和例外,我不会进入这里,因为根据你的描述不是发生了什么。) 但是,一旦COM对象注册,所有用户应该能够使用它,只要对象已
..
我试图通过使用来自Python(win32com)的COM对象自动化进程,但我没有得到预期的结果...有一个工具来探索/测试COM对象,而不必写一个特定的程序?我的意思是,有什么东西允许例如。实例化一个COM对象并调用其方法? (基本上我想知道我的意外结果是win32com的错误,我想避免安装Visual Studio编写一个C#应用程序) p> 解决方案 为了记录,我最后写了一个非
..
有没有办法将VB6组件编译成64位? 我的感觉是答案是“不”,但我想确认一下。 ,如果可以,请粘贴到确认的授权来源的链接。 解决方案 否。我希望此计为权威。 64位Windows Visual Basic 6.0 运行时文件是32位的。这些文件 在64位Windows中运行 下表中引用的系统。 32位VB6应用程序和组件 仅在WOW模拟 环境中支持。 3
..
我有一个COM dll写在vb6。当我尝试从这个dll创建一个类模块的新对象时,我得到一个运行计时器错误430:类不支持自动化或不支持预期的接口。有趣的是,这只发生在IDE外部,当我从IDE中调试时没有抛出错误,并且类的新对象被成功创建。可能是什么原因? 一般来说,我偶尔会得到这些类型的错误在COM DLL。调试COM问题的最好方法是什么?我如何知道当程序运行时使用的dll的路径? 解
..
有一个代码: var myobject:OleVariant; begin myobject:= CreateOleObject('SomeNamespace.SomeClass'); end; 此COM对象有事件(例如OnClick)。 解决方案 您正在使用COM后期绑定,因此您需要写入很多代码来处理事件。这个任务并不困难,如果你知道COM,基
..
我的Powershell(2.0)脚本具有以下代码片段: $ fileName =“c:\reports\ 1.xlsx“ $ xl = new-object -comobject excel.application $ xlFormat = [Microsoft.Office.Interop.excel.XlFileFormat] :: xlWorkbookDefault $
..
我有几个VB6 ActiveX服务器exe文件,需要在安装之前注册才能使用。 我已经尝试使用Heat提取信息,但它 这些文件可以通过使用/ regserver开关调用来注册,并通过使用/ unregserver开关调用它们来取消注册。我明白这不是正确的方法。 我的问题是我如何找到注册表项和其他元素我需要注册这些ActiveX exe文件。 解决方案 我有与WiX 2.0
..
我已经把一个古老但仍然有用的Delphi 5应用程序转换为进程外的COM服务器。我模糊地回忆,有一种方法来告诉它是否直接由用户或服务器启动。我知道我以前做过,但我不记得/找到如何做到。命令行切换,可能? 解决方案 我不知道这是否在Delphi 5中可用,但在Delphi 2010,查询全局ComServer对象的启动模式: 如果ComServer.StartMode = smAuto
..
在64位计算机上从Visual Studio 2012运行应用程序,显示以下错误消息: 检索COM类工厂组件与CLSID {F2D4F4E5-EEA1-46FF-A83B-A270C92DAE4B}失败,由于以下错误:80040154类未注册(从HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG)) 我在visualstudio中使用Inventor pa
..
假设来自COM接口的方法返回BSTR值。我认为我必须释放它吗? http://msdn.microsoft.com/en-us/library/aa365382(VS.85).aspx 不会这样做。 谁错了? 解决方案 MSDN示例错了。调用者释放和输入/输出bstrs。如果它在/ out,你必须传入null或有效的Bstr。 这不是从msdn的 com分配规则,但是客户
..
我正在试验编写ActiveX控件,并注意到我似乎不能在Visual Basic(6.0)中创建一个ActiveX控件,它具有更复杂的控件。简单的控件,如标签,按钮和复选框似乎工作正常,但只要我尝试添加例如。树控件到我的窗体,ActiveX控件保持完全空白,只要我将其嵌入到另一台计算机上的某个主机应用程序。 在浏览Projects-> Components(Ctrl + T)列表时,我发现了两
..
我有一个应用程序(用C ++编写的MFC,但我不认为这是特别相关的)嵌入Internet Explorer ActiveX WebBrowser控件,目的是显示一些HTML页面。一个要求是使用应用程序的字体名称和大小设置作为HTML的默认设置,而不是Internet Exporer的默认设置。 为了实现这一点,应用程序实现IDocHostUIHandler2 COM接口,它传递给WebBro
..