解决COM 组件调用 QueryInterface原因是什么 [问题点数:40分]

Bbs1
本版专家分:0
结帖率 0%
Bbs7
本版专家分:27681
Blank
银牌 2008年9月 总版技术专家分月排行榜第二
Blank
红花 2008年9月 .NET技术大版内专家分月排行榜第一
Bbs1
本版专家分:0
Bbs7
本版专家分:24328
Bbs1
本版专家分:0
Bbs1
本版专家分:0
COM组件的QueryInterface问题
[code=C/C++]rn#include rnusing namespace std;rnrn#include "../MyCOMServer/MyCOMServer.h"rn#include "../MyCOMServer/MyCOMServer_i.c"rnrnint main()rnrn HRESULT hr;rn IUnknown *pUnknown=NULL;rn IInterface1 *pInterface1=NULL;rn IInterface2 *pInterface2=NULL;rnrn //COM库的初始化rn hr=CoInitialize(NULL);rn if (!SUCCEEDED(hr))rn rn coutMul(10,10,&num2); //两个数相乘rn cout<Release();rn rnrn CoUninitialize();rn return 0;rnrn[/code]rn在VC6.0中通过ATL创建了一个COM<em>组件</em>,<em>组件</em>中有两个接口(通过insert new ATL Object以相同方式加入)rn问题:rn1、为什么第一次查询(查询接口1)成功,<em>调用</em>函数成功;而第二次查询失败(查询接口2)???rn2、通过IUnknown指针不是可以遍历到所有的接口吗?为什么上述程序能找到接口1而找不到接口2?rn3、在什么情况下<em>调用</em>Release()函数???
VB.NET 调用 COM 比较慢的原因是什么?
Dim w As LongrnDim p As LongrnrnrnDim c As New Scripting.Dictionaryrnrnc.Add "QQ", 1rnrnFor w = 1 To 10000000rn p = c("QQ")rnNextrnrnrn[color=#0000FF]以上程式 For....Loop 这段 codernVB6 = 2秒rnVB.NET = 14秒rn[/color]rnrn请问 VB.Net 慢很多<em>原因</em><em>是什么</em>rn有什方法让它变快呢rnrn(1) VB6 的 String 是 OLE标准的BSTRrn VB.Net 的 String 如果不是和 VB6 一样rn 那这样<em>调用</em> c("QQ") 时就要多一道转换成 BSTR 过程 <---- 是这<em>原因</em>吗? 还是另有其他<em>原因</em> ? rnrnrnrnrn
COM编程中QueryInterface
在网上看到关于QueryInterface实现的介绍,有些不懂。rnrn[color=#FF0000]HRESULT 实现类::QueryInterface( const IID& iid,void **ppv)rnrn if( iid== IID_接口一)rn *ppv=(j接口一*) thisrn else if( iid== IID_接口二)rn *ppv=(j接口二*) thisrnrn //其他以此类推rnrnQueryInterface中查询的时候,是将实现类的this指针强制转换成要查询的接口的类型,这个时候在内存中发生的操作是将this的内存块切割成要查询的接口的内存大下,然后将这块内存填入传入的void指针。这就获取了要查询的接口。因为实现类的内存中是包含了要查询的接口的内存结构,因此,上面的操作是可实现的。rn原文网址是:http://blog.csdn.net/dotnet90/archive/2009/02/14/3890251.aspx[/color]rnrn我不明白的是当一个实现类中有多个接口的时候,为什*ppv都等于this,强制转换可以改变它的值吗?rnrn
关于com的QueryInterface
我是初学COM,我看<em>组件</em>的QueryInterface函数的时候有个疑问:rn一个COM<em>组件</em>CMath,含有一个接口,IID为IID_ISimpleMath。QueryInterface的定义为:rn[code=C/C++]rnSTDMETHODIMP CMath::QueryInterface(REFIID riid, void **ppv)rnrn if(riid == IID_ISimpleMath)rn *ppv = static_cast(this);rn else if(riid == IID_IUnknown)rn *ppv = static_cast(this);rn elsern rn *ppv = 0;rn return E_NOINTERFACE;rn rn reinterpret_cast(*ppv)->AddRef();rn return S_OK;rnrnrn[/code]rnrn从上面的代码中可以看出,我通过CoCreateInstance得到一个<em>组件</em>后,每次用IID_ISimpleMath查询的接口指针都是this static_cast的,得到的接口地址应该一样才对,但是为什么,我第一次查询后不释放,第二次再查询,地址就不一样了呢??rn如:rn [code=C/C++]rn ISimpleMath *pSimpleMath1 = NULL;rn ISimpleMath *pSimpleMath2 = NULL;rn pMath->QueryInterface(IID_ISimpleMath,(void **)&pSimpleMath1);rn pMath->QueryInterface(IID_ISimpleMath,(void **)&pSimpleMath2);rnrn //pSimpleMath1和pSimpleMath2的值不一样!rnrn[/code]rnrn假如:rnrn[code=C/C++]rn ISimpleMath *pSimpleMath1 = NULL;rn ISimpleMath *pSimpleMath2 = NULL;rn pMath->QueryInterface(IID_ISimpleMath,(void **)&pSimpleMath1);rn ISimpleMath *pSimpleMath_temp = pSimpleMath1;rn pSimpleMath1->Release();rn pMath->QueryInterface(IID_ISimpleMath,(void **)&pSimpleMath2);rnrn //pSimpleMath2和pSimpleMath_temp的值是一样的!rn[/code]rnrn请问下,假如在一个程序中,我分别用这两种方式得到接口,然后对COM进行操作,结果是不是一样的??谢谢!!rnrn
“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败:库没有注册
安装的是office2016,用Excel时显示这个改怎么处理呢?各位大神帮我看看,谢谢谢谢!
关于COM组件QueryInterface返回E_NOINTERFACE的问题
在程序中,C++工程<em>调用</em>了一个C#写的COM<em>组件</em>,但是在CreateInstance创建一个对象的时候总是没有创建成功。 错误是在CreateInstance中,首先<em>调用</em>了CoCreateInstan
COM编程中的接口查询QueryInterface的实现原理
我们都知道,COM<em>组件</em>编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该<em>组件</em>中其他的接口。但是,QueryInterface实现的原理<em>是什么</em>呢,首先,我们看一下基本的COM实现。一般来说,COM是 通过多继承实现多个接口,如下图   而对应的QueryInterface实现如下 HRESULT 实现类::QueryInterface(
QueryInterface详解 COM
QueryInterface 接口查询 IUnknown:        所有的COM接口均需要继承IUnknown接口。因此,若某个用户拥有一个IUnknown接口指针,它并不需要知道它所拥有的接口指针到底<em>是什么</em>类型的,而只需要通过此接口就可以用来查询其他接口就行了。        由于所有的COM接口都继承了IUnknown,每个接口的vbtl的前三项都是QueryInterface,A
QueryInterface 实现及使用的完整的例子
下面我们将把前面所提到过和各代码段组合起来,以构成一个说明QueryInterface 实现及使用的完整例子。总的来说可以将这些代码分成三部分。第一部分是接口IX、 IY 和 IZ 的定义部分。接口 IUnknown 的定义在 Win32 SDK 的头文件 1 见UNKNWN . H 中。第二部分是<em>组件</em>的实现。类 CA 实现了一个支持 IX 和 IY 接口的<em>组件</em>。QueryInterface的实现
Com组件调用Com组件的问题
现在有个 A.dll 这个Com<em>组件</em>已经注册, 现在我自己写了一个Com<em>组件</em>B.dll,用ATL向导做的, 现在我要在B里面写代码<em>调用</em>A里面的接口 请问怎么做?rnrn很着急啊! 最近老和COM<em>组件</em>打交道 快崩溃了!! 大家帮忙想想办法! 谢谢了
COM组件调用COM组件的问题
我现在有A<em>组件</em>和B<em>组件</em>,均是在VC6中创建的,A、B各有若干个接口。rn现在我想B中的<em>调用</em>A中的接口,我在B的idl文件中import了A的idl文件,以前是<em>调用</em>正常的,在vs2005中用C#写的demo<em>调用</em>也正常。rn最近我修改了A<em>组件</em>中某个接口的方法,增加了2个参数,然后重新编译A和B,在demo中<em>调用</em>时,只引用B<em>组件</em>,可是通过B<em>组件</em>查看A<em>组件</em>中的这个接口的方法,参数数量还是原来的数目,而不是增加了2个参数后的数量。rn可是如果我在demo中直接引用A<em>组件</em>,查看其接口时,发现是正确的,也就是参数数量是添加了2个之后的数量。rn还有,我在2005中创建<em>组件</em>,2005中<em>调用</em>,修改接口方法后,在demo中查看却是正常的。rnrn大家帮忙看下,我的问题在哪里?谢谢啦!
COM组件是什么
我看到文章中说,COM<em>组件</em>好处是可以跨语言,可以用不同的编程语言来开发<em>组件</em>,并可以用不同的开发语言来使用<em>组件</em>。这是为什么啊?<em>组件</em>注册又是怎么回事啊,求教。
COM组件是什么东西?
1,具体有什么作用?rn2,有什么特点?rn3,有什么组成?rnrn百度百科看了下,觉得还是不怎么明白,希望能说的通俗易懂些,也好理解,谢谢了..
COM组件调用组件的问题
A和B两个<em>组件</em>,各有一个接口:IA1和IB1,其中IB1的一个方法Bfun的返回参数类型为IA1,也就是说IB1<em>调用</em>了IA1接口rn然后有一个C#写的<em>调用</em><em>组件</em>的demornrndemo中,我只引用了B.dll,然后在<em>调用</em>IB1的方法Bfun时,需要返回一个IA1类型的参数,这个参数我通过B<em>组件</em>就可以声明了!这样是不是不对?rnrn问题有3个:rn1、demo中,如果只引用B.dll后,是不是只能看到B的接口,看不到A的接口?rn2、demo中,如果需要定义接口IA1,是不是必须要把A.dll引用进来,然后using ALib; 然后再声明一个接口对象?rn3、<em>组件</em>代码中,<em>组件</em>B在引用A的接口时,该如何引用呢?就是在B的idl文件中该如何写呢?rnrn多谢多谢啦!
c#中的接口查询(QueryInterface)
接口查询(QueryInterface)        一个类可以有多个接口,声明了接口变量并且指向一个对象的时候,这个变量只能使用该接口内的方法和属性,而不能访问其他接口中的方法和属性。但接口查询很方便的让我们在一个类中的不同接口间进行切换。 using System; namespace ConsoleApp1 { interface IEat { ...
EXCEL在.NET操作下的错误System.InvalidCastException: QueryInterface for interface Excel._Application failed.
一、DCOM修复  1.运行:mmc <em>com</em>exp.msc /32,找到我的电脑 -> DCom配置中的Microsoft Excel Application 2.在Microsoft Excel Application上点击右键,选择"属性" 3.点击"标识"标签,选择"交互式用户" 4.点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性
queryinterface 失败?????
我在vb.net 中利用sqldmo遍历数据库服务器时为什么出现<em>queryinterface</em> 失败.请sql版的各位高手帮帮小弟。kindor@163.net txtserver.Items.Clea
接口 Word._Application 的 QueryInterface 失败。
在<em>调用</em>word时出现的错误!!!! windwos2000,word2000 帮帮忙!!!高手!!!
请问出现QueryInterface错误,该怎么解决
在程序中使用了COM<em>组件</em>,运行都很正常。但空闲几十分钟后,再次操作程序,往往会出现例外: 接口 Microsoft.Vsa.IVsaEngine 的 QueryInterface 失败。 在我的程序中
COM组件调用过程
概念 COM套件   COM<em>组件</em>的运行环境,包括:COM<em>组件</em>的数据、变量和线程调度方式。
COM组件的实现和调用
COM<em>组件</em>的实现和<em>调用</em>,VC6平台,简单的例子,适合初学者
怎么调用com组件
我怎么<em>调用</em>一个<em>组件</em>呀 是大漠插件, 名字dm.dll. rnrn我先注册了,现在要创建对象,可是一直不行呀, 作者给我说用rnCreateDispatch 我在论坛找到这个2001年的回复: 谁帮解答下呀。 rnrn首先:AfxOleInit(); 要在 App::InitInstance()中出现, rn 用于初始化<em>com</em>环境; rn其次: rnrnIMyCom <em>com</em>m; rnCLSID clsid; rn::CLSIDFromProgID(L "YourCom.MyCom.1 ",&clsid); rn<em>com</em>m.CreateDispatch(cls); rnrn其中 "YourCom.MyCom.1 " 可在注册表里查到 rn就是你的 Com 的注册项的ProgID; rnrnrnrnrn这是我自己写的代码rnrnwin32平台控制应用程序rnrn#includern#includern#includernusing namespace std;rnrnint main()rn rnHINSTANCE hinst;rnrnxx=int(ShellExecute(NULL,_T("open"),_T("regsvr32"),_T("..\\dm.dll"),NULL,SW_HIDE));rnif(xx),NULL);rnrn//这里是注册,我测试注册成功了rnrnrnrn头文件 tchar.h里的是这个rnrnrn#define _T(x)rn#define _TEXTrnrnrnrnrnrnrnrnrnrnrnrnrn搞了4天了 还是没弄成功呀。麻烦了
vc调用com组件
本人初识<em>com</em>技术rn然后自己用vc写了一个简单的<em>com</em><em>组件</em>,其中只有一个方法rn然后我在另一个工程里<em>调用</em>这个<em>组件</em>,rnrn#include rn#include "111.h" //<em>com</em>接口头文件rn#pragma <em>com</em>ment(lib, "111.lib") //<em>com</em> lib文件rnvoid main()rnrn IFun* pfun = NULL;rn CoCreateInstance(CLSID_Fun, NULL, CLSCTX_INPROC_SERVER, IID_IFun, (void**)&pfun);rn int a = 0;rn pfun->add(2, 21, &a);rnrnrn就这么简单的一个<em>调用</em>rn编译时CLSID_Fun IID_IFun这个标示未定义rn请问这是怎么回事rn而用同样的方式<em>调用</em>别人写的<em>com</em><em>组件</em>却没有任何问题rn请大家帮我解答一下
QT调用com组件
<em>com</em><em>组件</em>中定义了一个结构体,并且有一个接口的形参是这个结构体的指针。现在我在QT程序中怎样初始化这个结构体,并且<em>调用</em>这个接口。
接口Excel._Application的QueryInterface失败,该如何解决?在线等!
代码:Excel.Application myExcel = new Excel.Application ( ) ; myExcel.Application.Workbooks.Add ( true
QueryInterface 导致程序出错
这两天碰到个新问题,用原来写的CFilterDataSender类(一个render filter,用途只是把视频数据抛出链路) ,在QueryInterface借口的时候程序异常(在Mobile系统中,程序如果异常不会退出,会忽略该次操作)。遍寻<em>原因</em>未果。把原来的程序拿出来编译后通过。分析<em>原因</em>如下:   1. 两个静态库的结构不同(把视频采集和播放部分封在静态库中),一个把directsho
解决 无法将类型为“Excel._Application的QueryInterface”的 COM 对象强制转换为接口类型
ASP.NET中用C#<em>调用</em>EXCEL进行导出时,有时会出现接口Excel._Application的QueryInterface失败的提示。 这通常是office<em>组件</em>安装注册的问题,而非程序本身
COM学习笔记(一):入门及QueryInterface
#include 定义了-> #define interface struct #include 定义了-> #define pascal __stdcall //*****************************************************************************   //简单到爆之程序--COM雏形   #include 
第一讲:COM接口与QueryInterface
来自:http://www.vckbase.<em>com</em>/index.php/video/listview/fid/2/sid/12 本节内容: 1、现实中的<em>组件</em>与接口 2、把现实中的思想融入到软件中 3、C++程序中的<em>组件</em>与接口 4、COM<em>组件</em>与COM接口 5、QueryInterface函数,HRESULT类型,IID类型,数据类型转换 1、现实中的<em>组件</em>与接口 <em>组件</em>的定义
com组件的事件调用
我现在编写一个控制台应用程序,这个程序要用到一个<em>com</em><em>组件</em>的事件,请问我该如何<em>调用</em>此<em>com</em><em>组件</em>?
COM组件调用??
我用C++ 编写了2个很简单的<em>com</em><em>组件</em>,是dll。能不能用第三个<em>com</em>3<em>组件</em>把这两个封装起来,<em>调用</em><em>com</em>3的接口时,<em>com</em>3再<em>调用</em><em>com</em>1或者<em>com</em>2的函数??rn不知道COM是否能这样做,我是这两天才接触COM,请大家多多关照了!rn谢谢了!!
com组件调用问题
现在我知道uuid。rn怎样通过这个uuid来<em>调用</em>一系列的<em>com</em><em>组件</em>?rn这些一系列<em>com</em><em>组件</em>提供的方法一致。rn请问可以实现吗?怎样实现有例子最好。
JACOB调用 com组件
package umessage; import <em>com</em>.jacob.activeX.ActiveXComponent; import <em>com</em>.jacob.<em>com</em>.Dispatch; import <em>com</em>.jacob.<em>com</em>.Variant; public class Hello { public static void main(String[] args) { // ...
对 COM 组件调用返回了错误 HRESULT E_FAIL。
-
C#WPF无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“System.Speech.Internal.SapiInterop.ISpDataKey”。解决办法
无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“System.Speech.Internal.SapiInterop.ISpDataKey”。此操作失败的<em>原因</em>是对 IID 为“{14056581-E16C-11D2-BB90-00C04F8EE6C0}”的接口的 COM <em>组件</em><em>调用</em> QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。 <em>解决</em>办法
System.Speech 语音合成的问题?
我用的 VS2010,.NET4.0,引用.NET中的 System.Speech.dll,在本机加载语音库,发音都正常,但是生成应用程序,并用VS2010安装部署后,发送给别人,有的用户无法使用,(
C#调用matlab时,出现异常:不支持此接口 (异常来自 HRESULT:0x80004002)(E_NOINTERFACE)
无法将类型为“MLApp.MLAppClass”的 COM 对象强制转换为接口类型“MLApp.DIMLApp”。此操作失败的<em>原因</em>是对 IID 为“{669CEC93-6E22-11CF-A4D6-0
多接口COM组件调用(COM002)
多接口COM<em>组件</em>的<em>调用</em>(COM002) 多接口COM<em>组件</em>的<em>调用</em>(COM002) 多接口COM<em>组件</em>的<em>调用</em>(COM002)
wpf调用com组件
wpf<em>调用</em><em>com</em><em>组件</em>,似乎没办法<em>调用</em>。而且<em>com</em><em>组件</em>似乎也是要界面的!
MFC调用com组件
MFC <em>调用</em>C#dll注册的COM<em>组件</em>,怎么写?
jacob调用com组件
<em>com</em><em>组件</em>可以存在exe,或者dll中,而且对vb,vc,delphi等语言提供了统一的<em>调用</em>,而dll只能存在于dll文件中,而且不同语言<em>调用</em>方式不一样,<em>com</em><em>组件</em>开发难度相对于dll较大,多用于大型项目中。 java主要使用jacob来<em>调用</em><em>com</em><em>组件</em>。 1.注册<em>com</em><em>组件</em>(这里使用大漠插件dm.dll) regsvr32 dm.dll 另外regsvr32 /u dm.dll 代表卸载c
Vb调用COM组件
COM<em>组件</em>代码如下:rn[code=c]rnrnlimport "oaidl.idl";rnimport "ocidl.idl";rn [rn object,rn uuid(7FE82A7D-0799-4974-874A-7158DA9608D5),rn dual,rn helpstring("IMyCOMDll2 Interface"),rn pointer_default(unique)rn ]rn interface IMyCOMDll2 : IDispatchrn rn [id(1), helpstring("method COMDLL2_ADD")] HRESULT COMDLL2_ADD(int a ,int b);rn ;rnrn[rn uuid(2F3B8FFB-359A-4E1D-8844-F99673280A4F),rn version(1.0),rn helpstring("COMDLL2 1.0 Type Library")rn]rnlibrary COMDLL2Librnrn importlib("stdole32.tlb");rn importlib("stdole2.tlb");rnrn [rn uuid(37FCA1D5-08DA-4081-A61E-209BE28EE5FB),rn helpstring("MyCOMDll2 Class")rn ]rn coclass MyCOMDll2rn rn [default] interface IMyCOMDll2;rn ;rn;rnrn[/code]rnrnVB代码如下:rnrn[code=vb]rnrnDim ctp As COMDLL2Lib.MyCOMDll2rnrnPrivate Sub Command3_Click()rn Dim n As Integerrnn = ctp.COMDLL2_ADD(1, 1)rnEnd SubrnrnPrivate Sub Form_Load()rnSet ctp = New COMDLL2Lib.MyCOMDll2rnEnd Subrnrn[/code]rnrn问题:编译时候一直报错错误信息为“Excpeted Function or Variable”rnrnrn<em>是什么</em>意思?
如何调用 com 组件
我用delphi写了一个间单的<em>com</em> <em>组件</em>,只有一个属性和一个方法,在vb 能成功<em>调用</em>,在dephi 中不知如何<em>调用</em>?请赐教!
使用QueryInterface 出错?
简单的接口参数<em>调用</em>。 Client端 #import "..\msado15.dll" no_namespace rename("EOF","adoEOF") #import "..\myDll.dl
80040154 没有注册类问题,求帮助
-
C#中COM操作(二)---接口查询
    上一篇末留下的一个疑问这一回来作个解答吧。大家看了下面的图就清楚了:    结论就是t1,t2,t3是三个不同的引用,也就是说在.NET里面代表了三种不同的类型,但是三种类型的GUID却是一样的,因为在COM里GUID代表了一个COM类,只要GUID是一样的那么就表示是一个COM类,因此仅从COM类这一角度出发的话,这三种类型就是同一个COM类型。 第1种方式创建的COM对
VS2010 c# 怎样实现基础组件COM支持对接口IID的QueryInterface调用?急求。。。。
VS2010 c# 怎样实现基础<em>组件</em>COM支持对接口IID的QueryInterface<em>调用</em>?急求。。。。
C#学习——简单聊聊 QI(Query Interface 接口访问)→一个类实现多个接口
内容目录: 1,引言QI 2,实例 3,类与对象与接口之间的关系梳理 1,引言 !关于此部分内容建议看我后面关于——COM知识点的总结一文 在COM中,和我们打交道的是接口而不是类,那我们开发的时候要使用这些功能,就只能通过这些接口,通过接口提供的方法,COM是一种C / S架构(服务器/客户端),服务器定义了操作的方法。客户端则通过这些接口<em>调用</em>这些方法。如下图 一个接口可以被多...
FB调用COM组件
FB<em>调用</em>COM<em>组件</em><em>调用</em>源码,有学习的同学可以下载,有文章说明,此为代码
com组件简单实现和调用
<em>com</em><em>组件</em>简单实现和<em>调用</em> <em>com</em><em>组件</em>实例 VC6.0先创建<em>com</em><em>组件</em>
com组件调用
我现在编写一个控制台应用程序,这个程序要用到一个<em>com</em><em>组件</em>的事件,请问我该如何<em>调用</em>此<em>com</em><em>组件</em>及此<em>组件</em>的事件呢?
com组件调用的问题
<em>调用</em>了一个<em>com</em><em>组件</em>的ui 界面,想用另外一个按钮<em>调用</em>这个<em>com</em><em>组件</em>的unload 方法,可是如何才能获得刚才那个已创建的<em>com</em>对象的实例呢?rn
调用COM组件的问题
<em>调用</em>一个COM<em>组件</em>时,总出问题,后来发现这个COM<em>组件</em>依赖于另外一个COM<em>组件</em>,找到这个COM<em>组件</em>dll,但是怎么用啊?rn我用C#写的<em>调用</em>程序,直接添加引用好像不行,应该怎么引用啊?rn急问,谢谢。。。。
C# 找出接口实现类
找出实现了IForm的所有实现类 public interface IForm { } 方法一: var types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IForm)))
QueryInterface如何使用?
void CPart::addPt(LPDISPATCH pt) { IDispatch *pp; pt->QueryInterface(IID_IDispatch, (void**)&pp); CP
COM组件没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
1、<em>解决</em>办法:在项目属性里设置“生成”=&amp;gt;“目标平台”为x86而不是默认的ANY CPU;  
使用COM组件时,QueryInterface调用失败是什么原因
在WinCE平台上<em>调用</em>总失败,什么都没法干了,大家帮我分析一下吧
QueryInterface为什么不能成功呢?
这是我使用<em>com</em><em>组件</em>时的一段小程序,现在一直不能明白一个现象为什么 QueryInterface不能成功, IApplication *pIX = NULL; CLSID clsid = {0x7F3
PB调用com组件
还是上次我问的那个问题,因为Pb不能直接<em>调用</em>C#编写的dll文件,这次我用C#编写的是<em>com</em><em>组件</em>。rn因为我不会用pb,希望能帮帮忙,十分感谢!!!rn需求下载地址:[url=http://download.csdn.net/detail/l1160974051/4435896][/url]
调用com组件报错!!!
我系统是64位的,需要<em>调用</em>office的ocr获取图片中的文字,然后我下载了一个interop.modi.dll(32位)的,在实例对象的时候(MODI.Document doc = new MODI.Document();)报错,信息如下》,<em>是什么</em>导致的,我已经注册好了dll了。rnrnSystem.Runtime.InteropServices.COMException (0x80040154): 检索 COM 类工厂中 CLSID 为 40942A6C-1520-4132-BDF8-BDC1F71F547B 的<em>组件</em>时失败,<em>原因</em>是出现以下错误: 80040154。
C#调用com组件
现在有这个需求,有一个用VC写的COM<em>组件</em>,我这要在C# VS中<em>调用</em>这个<em>com</em><em>组件</em>,理由有些结构体,函数方法什么的,求大神指导怎么<em>调用</em>,这个结构体怎么<em>调用</em>啊。。。。
如何调用COM组件
请问在Visual C#.NET中如何<em>调用</em>Visual C++6.0编写的COM<em>组件</em>?rn非常感谢!!!
IUnKNown接口——QueryInterface函数
COM笔记-QueryInterface函数 fangyukuan 2010.6.1 客户同<em>组件</em>的交互都是通过一个接口完成的。在客户查询<em>组件</em>的其他接口时,也是通过接口完成的。这个接口就是IUnknown。它在UNKNWN.H头文件定义 :如下        Interface IUnknown        {             virtual HRESULT _
JS和C#访问遇到QueryInterface调用出错
在原来的WinForm里,我们只要在窗体类的头部添加属性[System.Runtime.InteropServices.ComVisibleAttribute(true)],然后 webBrowser1.ObjectForScripting = this;这样设置完后,页面上的JS就能访问窗体类的方法了,但是添加WeifenLuo.WinFormsUI.Docking.DockContent作为窗...
IIS7上出现错误无法将类型为 的 COM 对象强制转换为接口类型 。
-
【求助】 Microsoft.Office.Interop.Excel.Application 实例化报错怎么解决
//建立Excel对象 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.A
导出excel失败,提示提示加载类型库/DDL出错 ?
我想做导出数据到excel,引用Excel的动态链接库Microsoft Excel 11.0 Object Library(2003版本的),并在程序里添加了 using Excel; 在我自己的笔
CB调用COM组件
CB<em>调用</em>COM<em>组件</em> COM BCB <em>调用</em>CB<em>调用</em>COM<em>组件</em> COM BCB <em>调用</em>
Com组件调用流程
Com<em>组件</em>的<em>调用</em>流程.doc
JAVA调用COM组件
JAVA<em>调用</em>COM的JACOB.JAR和JACOB.DLL文件
COM组件调用.rar
COM<em>组件</em><em>调用</em>.rarCOM<em>组件</em><em>调用</em>.rarCOM<em>组件</em><em>调用</em>.rar
js调用COM组件
在js中<em>调用</em>COM<em>组件</em>,有个方法的参数带有out怎么处理,原型 rn Void RichonreaderClass.readBlk(byte blknum,byte blkcount,out array pContent)
我在C#winform程序中药调用Excel接口,出现这个问题
-
vb 调用com组件
vb能编辑<em>com</em>吗?比如我一个m文件是关于矩阵计算的,然后将vb界面的数据与m文件进行计算,能计算吗?m文件是matlab做的,求高人指点,谢谢,
C#调用COM组件
我这里有一个VC写的<em>组件</em>,如何用C#来<em>调用</em>它,求源码。rn下面的代码是COM<em>组件</em>的主要代码,主要有三个函数组成:阳历日期转阴历日期,阴历日期转阳历日期,阳历日期转星期。其中在阴历和阳历互相转换的函数中,是应用查表的方式进行转换的rn//阳历日期转阴历日期rnSTDMETHODIMP Cyangconvyin::yangconvyin(WORD *yangdate, WORD *yindate, BOOL *prunyue, CHAR *yindateString)rn//阳历日期转阴历日期rnSTDMETHODIMP Cyangconvyin::yangconvyin(WORD *yangdate, WORD *yindate, BOOL *prunyue, CHAR *yindateString)rn//阳历转换为星期rnSTDMETHODIMP Cyangconvyin::yangconvweek(WORD *yangdate, CHAR *weekString)rn
java调用com组件
以下是我java的代码 rnimport jp.ne.so_net.ga2.no_ji.j<em>com</em>.*; rnpublic class practice rn public static void main(String[] args) rn Process(); rn rn public static String Process() rn ReleaseManager rm = new ReleaseManager(); rn try rn IDispatch java<em>com</em> = new IDispatch(rm, "apple.app"); rn rn rn long strRet = java<em>com</em>.add1(1,2); rn System.out.println("return: " + strRet); rn rn catch ( Exception e ) rn e.printStackTrace(); rn rn finally rn rm.release(); rn rn return null; rn rn rn rn rn但总是出错,如下 rnpractice.java:11: cannot resolve symbol rnsymbol : method add1 (int,int) rnlocation: class jp.ne.so_net.ga2.no_ji.j<em>com</em>.IDispatch rn long strRet = java<em>com</em>.add1(1,2); rn ^ rn1 error rn rnc++的add1函数如下: rnlong app::add1(long n1, long n2) rn rn // TODO: Add your dispatch handler code here rnreturn n1+n2; rn rn rn我是外行,弄了很长时间就是<em>解决</em>不了,j<em>com</em>我已经配置好了,我不知道该怎么<em>解决</em>,哪rn位朋友了解这方面给点详细意见,谢谢了。 rn
WPF调用COM组件
本实例包括一个c++写的COM<em>组件</em>,一个WPF工程,其中WPF<em>调用</em>该COM<em>组件</em>中的接口函数,从而实现C#<em>调用</em>C++。
dephi调用COM组件
最近因为要用用Dephi<em>调用</em>.net开发的一个<em>com</em><em>组件</em>,<em>调用</em><em>com</em><em>组件</em>中的方法没问题,但是注册COM<em>组件</em>中的事件却不会。急用,求大侠帮助!!!!!!!!!!!!!
COM组件调用的问题
现在我有<em>com</em><em>组件</em>的动态库(dll),vc怎么样才能<em>调用</em>dll提供的接口。麻烦大哥大姐帮我<em>解决</em>一下,最好给出c++ 代码,谢谢了先!
COM组件调用问题!
要为网页做一个可<em>调用</em>的COM<em>组件</em>,要怎么做?rn我已经做了一个最简单的COM,但是在网页中怎么也<em>调用</em>不到接口函数,有什么是需要注意的么?
asp.net调用com组件
MATLAB提供actxserver函数把SPSS程序作为自动化服务器打开,而且在MATLAB中的命令窗口输入rnspss=actxserver('spss.application')rn运行结果为rnspss=COM.spss.application说明SPSS是一个COM对象rnrnrn仿照excel<em>调用</em>,代码如下:rnusing System;rnusing System.Reflection;rnusing System.Threading;rnrnnamespace ConsoleApplication1rnrn class Programrn rn static int Main(string[] args)rn rnrn Type spss;rn object[] parameter = new object[1];rn object spssObject;rn tryrn rn spss = Type.GetTypeFromProgID("spss.Application");rn spssObject = Activator.CreateInstance(spss);rn parameter[0] = true;rn spss.InvokeMember("Visible", BindingFlags.SetProperty, null, spssObject, parameter);rn rn catch (Exception e)rn rn Console.WriteLine("Error Stack 0", e.Message);rn rn finallyrn rn Thread.Sleep(5000);rn rn return 0;rn rn rn rnrnrn可是结果并不能象excel或者word一样成功<em>调用</em>,而是抛出异常"Error Stack 未知名称"rn试了下,好象是rnspss.InvokeMember("Visible", BindingFlags.SetProperty, null, spssObject, parameter);rn没有运行起来rn问题:(1)是这个函数的用法错了吗?但是换成Word或者Excel就正确的呀rn(2)希望顺便讲下InvokeMember怎么用rn(3)另怎么查看这个<em>com</em><em>组件</em>的可以<em>调用</em>的所有函数?
调用COM 组件问题
1。定义函数:VC中COM<em>组件</em>中的函数定义Write2File([in]BYTE *buf,[in] long buflen,[out,retval] long *result); rn2. C# WINFORM 中<em>调用</em>: rnbyte[] tbuf= 0xFF,0xA1;rn.Write2File(ref tbuf[0],2); rnrn正常,成功写入0xFF,0xA1rnrnC# WEBFORM 中<em>调用</em>: rnbyte[] tbuf= 0xFF,0xA1;rn.Write2File(ref tbuf[0],2); rnrn不正常,只写入0xFF,如果改成tbuf[1] 就只写入0xA1rn请教大家asp.net 下该怎么<em>调用</em>。rnwinform 和webfrom 下<em>调用</em><em>组件</em>有区别吗?
Js调用com组件
rn提示:Microsoft JScript 运行时错误: Automation 服务器不能创建对象
关于COM组件调用
各位好,rn我的客户提供了一个COM<em>组件</em>:usbio<em>com</em>.dll给我。rn通过帮助文档查看,里边包含一系列接口函数,其中一个接口如1楼图。rn我的USB设备的GUID是Class=USBIOControlledDevicesrnClassGUID=96e73b6e-7a5a-11d4-9f24-0080c82727f4rnrn请各位大侠帮忙,困扰很久了,谢谢。
如何调用com组件
用ConnectToNewObject("a.b")rn其中a.b是不是就是 HKEY_LOCAL_MACHINE\SOFTWARE\Classes里注册项的名字?rn这里还要不要声明外部函数呢?
vb6调用COM组件
vb6怎样<em>调用</em>VC.NET编写的COM<em>组件</em>,我在VB6的引用中勾上了该COM控件,但不知道怎么使用?
ASP.NET 调用 COM 组件
在一个VB.NET语言写的ASP.NET应用程序中,<em>调用</em>一个COM<em>组件</em>rnrnVB.NET中对应代码如下(对COM已经做过引用)rnDim Server As New XXX.ServerrnDim myObject As New XXX.ObjectrnDim success As Booleanrnrnsuccess = Server.Connect("localhost", 1234)rnsuccess = Server.Login("Name", "PWD")rnsuccess = myObject.DoSomething()rnrn问题是myObject一NEW出来就有错误rnDescriptionStringrn执行到success = myObject.DoSomething()后rn抛出来的异常信息为rnrnQueryInterface for interface XXX.IOAObject failed. rnDescription: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. rnrnException Details: System.InvalidCastException: QueryInterface for interface XXX.IOAObject failed.rnrn不知道什么<em>原因</em>。
ASP怎么调用COM组件调用COM组件方法
请问ASP<em>调用</em>COM<em>组件</em>是怎么<em>调用</em>的,用什么方法<em>调用</em>,可以给个例子吗。
Com应用程序QueryInterface()函数出现问题,
有一个用<em>com</em>方式编写的dllrn想用一个应用程序<em>调用</em>它rn在dll程序中rnScenario File.idl文件里有这样的声名rnimport "oaidl.idl";rnimport "ocidl.idl";rn [rn object,rn uuid(9E002FAD-7201-4BE6-89F3-485A12FBE369),rn dual,rn helpstring("IScenarioFile Interface"),rn pointer_default(unique)rn ]rn interface IScenarioFile : IDispatchrn rn ……rn [id(9), helpstring("method CloseFile")] HRESULT CloseFile();rn ……rnrn ;rnrn在Scenario File.h文件里,有这样一句话rnEXTERN_C const IID IID_IScenarioFile;rnrn在应用程序里,我写了如下测试代码rnrn IUnknown *pUnknown;rn IScenarioFile *pIScenarioFile;rn HRESULT hResult;rn if(CoInitialize(NULL)!=S_OK)rn rn MessageBox("Initialize COM library failed!");rn return -1;rn rn GUID ScenarioCLSID;rn hResult = ::CLSIDFromProgID(L"ScenarioFile.ScenarioFile",&ScenarioCLSID);rn if(hResult!=S_OK)rn rn MessageBox("Can't find the ScenarioFile CLSID!");rn return -2;rn rn hResult = CoCreateInstance(ScenarioCLSID,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void **)&pUnknown);rn if(hResult!=S_OK)rn rn MessageBox("Create object failed!");rn return -2;rn rn hResult = pUnknown->QueryInterface(IID_IScenarioFile,(void **)&pIScenarioFile);rnrn前面的初始化和createinstance都没有问题,但是到了执行QueryInterface()的时候,出现了连接错误rnunresolved external symbol _IID_IScenarioFilernrn在Scenario File.h文件里明明说明了这个IID的啊,而且我也include了,为什么还说没有呢rn大侠们帮帮忙吧,谢谢了rnrn
c专家编程 pdf 能看清程序 清晰版下载
c专家编程 pdf 清晰版 c专家编程 pdf 清晰版 c专家编程 pdf 清晰版 c专家编程 pdf 清晰版 c专家编程 pdf 清晰版 相关下载链接:[url=//download.csdn.net/download/ccl421/1099902?utm_source=bbsseo]//download.csdn.net/download/ccl421/1099902?utm_source=bbsseo[/url]
win32 sdk 简易局域网聊天器下载
该局域网聊天软件使用win32 sdk + socket编写完成 功能比较简单 附带源码 相关下载链接:[url=//download.csdn.net/download/neverby/2395281?utm_source=bbsseo]//download.csdn.net/download/neverby/2395281?utm_source=bbsseo[/url]
管家婆CRM 9.041破解补丁下载
管家婆CRM9.041补丁,欢迎大家下载。好东西呀。 相关下载链接:[url=//download.csdn.net/download/fzlychee/5152229?utm_source=bbsseo]//download.csdn.net/download/fzlychee/5152229?utm_source=bbsseo[/url]
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制
我们是很有底线的