在DLL里面调用COM组件的接口函数出错 [问题点数:40分,结帖人vista1975]

Bbs1
本版专家分:91
结帖率 80%
Bbs1
本版专家分:91
Bbs1
本版专家分:6
Bbs7
本版专家分:16689
Bbs1
本版专家分:91
Bbs1
本版专家分:91
Bbs1
本版专家分:91
Bbs7
本版专家分:19221
Bbs1
本版专家分:91
Bbs1
本版专家分:91
Bbs5
本版专家分:3369
Blank
黄花 2012年7月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
Bbs1
本版专家分:39
Bbs1
本版专家分:91
Bbs1
本版专家分:91
Bbs1
本版专家分:91
如何知道一个COM组件接口函数
我对COM<em>组件</em>是一个新手,现在想hook住一个COM<em>组件</em>的<em>接口函数</em>。 怎么样可以知道一个COM<em>组件</em>有哪些<em>接口函数</em>呢(该COM<em>组件</em>为一个DLL)?
vc如何调用COM组件接口函数
vc如何<em>调用</em>COM<em>组件</em>的<em>接口函数</em>?rn不要贴一些网上搜到的不完整的例子,没什么帮助
调用COM的接口函数出现问题
CoCreateInstance<em>调用</em>已经成功,rnrnINeuGraphBuilder * pNeu;rnif(CoCreateInstance(CLSID_NeuGraphBuilder, NULL, CLSCTX_LOCAL_SERVER, IID_INeuGraphBuilder, (void ** )&pNeu))rnrn AfxMessageBox("success");rn [color=#FF0000]pNeu->do();//[/color]rnrn弹出success后,使用指针pNeu<em>调用</em><em>接口函数</em>do()时告诉我:rnrn[color=#FF0000][color=#0000FF]Unhandled exception at 0x0041b42f in test4.exe: 0xC0000005: Access violation reading location 0x00000000.[/color][/color]rnrndo()函数里只是AfxMessageBox("121");rn<em>调用</em>它的工程也是MFC工程rnrn请问这是为什么?rnrn
ASP调用COM组件出错
rn rn 测试ActiveX DLL rn rn rnrn rn rnrnphp<em>com</em>.<em>dll</em>该文件已用regsvr32命令成功注册,在注册表中有显示。rnrn<em>出错</em>信息为rnrnServer 对象 错误 'ASP 0177 : 8007007e' rnrnServer.CreateObject 失败 rnrn/h.asp,行 8 rnrn8007007e rnrnrnrnrn中午就要用了 麻烦大哥们帮帮忙
VC调用COM组件出错
我在程序中用 "#import "Dll/GxUIProxyWeb.<em>dll</em>" no_namespace" <em>调用</em>一个COM<em>组件</em> rnrn可是缺出现如下错误 rnrnd:\测试程序\test\debug\gxuiproxyweb.tlh(4561): warning C4003: “GetFreeSpace”宏的实参不足 rnd:\测试程序\test\testdlg.cpp(14): warning C4010: 单行注释包含行继续符 rnd:\测试程序\test\testdlg.cpp(16): warning C4278: “SendMessage”: 类型库“Dll/GxUIProxyWeb.<em>dll</em>”中的标识符已经是宏;使用“rename”限定符 rnd:\测试程序\test\debug\gxuiproxyweb.tlh(4561): error C2059: 语法错误 : “常数” rnd:\测试程序\test\debug\gxuiproxyweb.tlh(4561): error C2238: 意外的标记位于“;”之前 rnd:\测试程序\test\debug\gxuiproxyweb.tli(3910): warning C4003: “GetFreeSpace”宏的实参不足 rnd:\测试程序\test\debug\gxuiproxyweb.tli(3910): error C2589: “(” : “::”右边的非法标记 rnd:\测试程序\test\debug\gxuiproxyweb.tli(3910): warning C4091: “inline ” : 没有声明变量时忽略“long”的左侧 rnd:\测试程序\test\debug\gxuiproxyweb.tli(3910): error C2143: 语法错误 : 缺少“;”(在“::”的前面) rnd:\测试程序\test\debug\gxuiproxyweb.tli(3910): error C2059: 语法错误 : “::” rnd:\测试程序\test\debug\gxuiproxyweb.tli(3910): error C2143: 语法错误 : 缺少“;”(在“”的前面) rnd:\测试程序\test\debug\gxuiproxyweb.tli(3910): error C2447: “” : 缺少函数标题(是否是老式的形式表?) rnrn请问我是不是那里没写对, 求教, 谢谢. rn
PB调用COM组件出错
我有一个说明文档和HotelCom.<em>dll</em>,文档前面一段内容如下:说明:本接口为COM<em>组件</em>,凡是在Windows平台,一律按相关程序开发语言中COM<em>组件</em>方式使用。动态库为HotelCom.<em>dll</em>,接口的类名为IHotCom;操作流程:InitializeCom GuestManage。 rn 我<em>调用</em>这COM代码如下: rn integer li_ret rn <em>com</em>test = CREATE OLEObject rn li_ret = <em>com</em>test.ConnectToNewObject('HotelCom.IHotCom') rn rnrn if li_ret = 0 then rn else rnmessagebox("提示","系统初始化错误!"+string(li_ret)) rnreturn rn end if rnrnls_return = <em>com</em>test.InitializeCom(ls_<em>com</em>, 'C3F415C3-1BDB-4638-805A-B59C8358FA88', 0) rnrn但是连接不上这个COM<em>组件</em>,返回值为-2,按帮助文档是没有这个CLASSNAME,请问,根据这个前面的说明文字, 我要怎样<em>调用</em>这个DLL<em>组件</em>呢,
com组件和一般dll的区别
    这阵子在想一个需要利用<em>com</em><em>组件</em>的小程序怎么做,突然想起上次去面试的时候考官问过autocad开发时为什么要利用<em>com</em>,而不采用一般的<em>dll</em>呢?     到google上查了一下,许多人也问了一样的问题:)     用<em>com</em>来写程序要比普通的<em>dll</em>麻烦一些,但是带来的好处也大很多,尤其是在开发像autocad这样大型软件的时候,需要跨区域来协同工作。 “学习COM,首先要知道COM的目的
com组件、对象、接口
1、<em>com</em>(<em>com</em>ponent object model)<em>组件</em>对象模型。 特点:语言无关、可以重用 应用:DirectX、OLE DB、ADO OLE是<em>com</em>的应用。 2、 一个<em>com</em><em>组件</em>包括多个<em>com</em>对象,一个<em>com</em>对象实现多个接口。 3、<em>com</em>对象类似于c++中的类,包含属性和方法。在c++中,可以用类来定义<em>com</em>对象。 <em>com</em><em>组件</em>对客户来说是透明的。 GUID用于标识<em>com</em>组...
WinForm实现保存图片,读取图片(Stream流的形式)
直接将图片保存到数据库,可能会导致数据库压力比较大,当然这样有利于图片数据的迁移和备份。 这种方法只适合于保存用户头像等较小的图片。 //读取图片 if (this.openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { 
.NET程序连接OPC Server时出错 对 COM 组件调用返回了错误 HRESULT E_FAIL
最近在给鹿华系统做升级,为了实时性和稳定性,程序直接从DCS取数,程序是.NET开发的,<em>调用</em>OPC的DLL是OPCDAAuto.<em>dll</em> 系统装的是Windows Server 2003 R2,配置好DCOM,初次尝试成功连接OPCServer,程序10秒取数一次,在运行30小时后就再也连不上OPCServer了 错误如下 对 COM <em>组件</em>的<em>调用</em>返回了错误 HRESULT E_FAIL
调用com组件的方法出错
<em>调用</em>delphi写的一个<em>com</em><em>组件</em>,方法是rnprocedure test(out Param1: Integer); safecall;rnrnrn注册<em>com</em>之后在c#中引用都没有问题rnrn............创建部分就省略不写了rn............rnint v_int;rntest(out v_int); <em>调用</em>testrnrn但是运行<em>出错</em>,rn服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))
com组件接口函数的参数类型是什么?
在<em>com</em><em>组件</em>中,可不可以指定其<em>接口函数</em>类型为void或void*,我看MIDL的基础类型定义里有这两个,但是我用的时候编译<em>出错</em>,error MIDL2139 : type of the parameter cannot derive from void or void * : [ Parameter of Procedure 'test' ( Interface 'IDisplayCapture' ) ]rn那个接口定义为rn[id(3), helpstring("method test")] HRESULT test(void *);rn
调用com组件 出错 0x800a03ec
大家好。最近<em>调用</em>别人提供的<em>com</em><em>组件</em>的时候<em>出错</em>,用try catch捕捉了下,错误提示如下:rnDescription:未知rnMessage:unknown error 0x800a03ecrnSource:DAO.DatabasernError: 800a03ecrnrn我在网上搜索了下,大部分都是说excel有问题,但是我<em>调用</em>的别人的<em>com</em>没有读入和写出excel的操作。实在不知道怎么办了。rnrn请大家帮助看一下。非常感谢!(由于<em>com</em><em>组件</em>是第三方提供的,没有源代码。)
c# 操作Word文档:服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))"
弄了半个早上,实在不知道哪里出了问题,大家帮忙看看
使用ATL创建一个COM组件,在构造函数中调用接口函数,然后在接口函数中再调用另外的接口函数出错
比如创建一个COM<em>组件</em>test,有两个<em>接口函数</em>FunA(),FunB().rn在FunA()中<em>调用</em>FunB().rnrn在构造函数test()中<em>调用</em>FunA(),则可以正常进入FunA(),但是再进入FunB()就会<em>出错</em>。rn如果是正常的外部<em>调用</em>则没有问题。不知道和构造有什么关系。
调用COM接口函数,找不到CLSID
1.#import 导入 esriCarto.tlh文件,声明变量如下rnesriCarto::IDataLayerPtr m_DataLayer;rnrn2.按照COM的一般规则, [color=#FF0000]CLSID:CLSID_DataLayer[/color],[color=#FF0000]IID:IID_IDataLayer[/color],但在esriCarto.tlh里只有IID_IDataLayer却没有:CLSID_DataLayer,所以就没办法按照如下方法<em>调用</em>了:rnrnHRESULT hr;rnhr=CoCreateInstance(esriGISClient::CLSID_DataLayer,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void **)&pUnk);rnpUnk->QueryInterface(esriGISClient::IID_IDataLayer,(void**)&m_m_DataLayer);rnpUnk->Release();
dll"后编译 *.tlh出错">COM组件调用,#import "*.dll"后编译 *.tlh出错
[code=C/C++]#include rn#include rn#include rn#import "WinPIM7.<em>dll</em>"rnrnusing namespace WinPIM7DLL;rnrnrnint _tmain(int argc, _TCHAR* argv[]) rn rn //CoInitialize(NULL); rn rn rn rn //CoUninitialize(); rn return 0; rn[/code]rnrn导入DLL后生成的.tlh文件各种错误。rn小弟刚刚接触COM,求个解释
一个调用dll接口函数的问题
在一个头文件里有类似如下的代码声明rnextern "C" rnERRCODE PASCAL ReadImage(LPIMGHEAD2 lpImgHead, LPCTSTR lpszFileName);rnERRCODE PASCAL WriteImage(LPIMGHEAD2 lpImgHead, LPCSTR lpszFileName);rn;rn其中WriteImage()函数应该是一个<em>dll</em>的实现的函数,可是我在cpp文件里<em>调用</em>这个函数时有如下的错误提示(在另一个类似的项目里却是可以<em>调用</em>的,以前的人写的)rnTWHTML32.obj : error LNK2001: unresolved external symbol _WriteImage@8rnE:\TH-OCR 2000\TWHTML32.<em>dll</em> : fatal error LNK1120: 1 unresolved externalsrnError executing link.exe.rnrn请大家帮帮忙,我有点不知怎么办。(那个<em>dll</em>的头文件和lib文件都没见到,而且extern “C”这种语法也不是很清楚)
如何调用dll中的接口函数
各位大侠,比如说在类Ctest中写了一个<em>接口函数</em>Itest,请问我在MFC的工程文件中怎样<em>调用</em>此<em>接口函数</em>?能否写出具体的实现代码?谢谢!
dll调用com组件程序崩溃!!!???(急救)
我写了一个mfc regular <em>dll</em>,在InitInstance中<em>调用</em>CoInitializeEx(..),然后用ADO打开一个数据库连接。在ExitInstance中关闭数据库连接,然后<em>调用</em>CoUninitialize()。在关闭数据库连接时程序崩溃,错误是访问违规!!!rn注:就打开数据库和关闭数据库,没有任何其他操作rnrnrn为什么会崩溃呢?实在想不通!!
Atl Com组件DLL非注册调用
1:包含头文件: 、#include “../ATL<em>com</em>Mfc/ATL<em>com</em>Mfc_i.h” 、#include “../ATL<em>com</em>Mfc/ATL<em>com</em>Mfc_i.c”因为头文件中有函数定义,和clsid,iid的声明; 2:定义函数指针,加载<em>dll</em>文件 //没有将<em>com</em>接口在系统注册的情况 typedef HRESULT(__stdcall * pmath)(REFCLS
MFC调用COM组件dll源码
基础的<em>dll</em>源码可以用<em>里面</em>的网页进行调试
MFC 调用C# dllcom组件
将C#程序编写的DLL注册为<em>com</em><em>组件</em>,用MFC程序调此<em>com</em><em>组件</em>,在stdafx.h 文件中添加rn#import "..\AchievementShow\AchievementShow\bin\Debug\AchievementShow.tlb" no_namespace named_guidsrn然后 using namespace AchievementShow;为什么这一句总<em>出错</em>提示:具有该名称的命名空间不存在rn(在VS2010中)
com组件调用 扩展dll吗?
我做了一些<em>com</em><em>组件</em>(建立<em>com</em><em>组件</em>的时候 没有选择 支持mfc )rn现有一个 lib 和 <em>dll</em>文件 他是扩展的 <em>里面</em>有好些c++类.我想用它的类。rn但是 编译的时候 根本不认 类头文件中的 AFX_EXT_CLASS。( 如 class AFX_EXT_CLASS CMath_Vec2D )rn问题1 不支持mfc的<em>com</em><em>组件</em>能<em>调用</em>扩展<em>dll</em>?rn2 怎么办呢
关于调用com组件dll的问题
我用vc写了一个<em>com</em><em>组件</em><em>dll</em>,在C#中经过“引用”导入,并且已经注册。rn但我修改了<em>dll</em>中的内容,即重新生成了一个新的<em>dll</em>(同名,覆盖原来的),C#就找不到<em>组件</em>了。我是将原来的在引用中删除重新添加的。请问是什么原因?
COM组件调用DLL的问题
STDMETHODIMP CSender::SendShortMessage(BSTR msg, long *RetVal)rnrn AFX_MANAGE_STATE(AfxGetStaticModuleState())rnrn // TODO: Add your implementation code herern int code_page;rn char *message;rnrn if (GetCurCodePage()==DBCS_GB) //这个一个DLL中的函数rn code_page=936;rn elsern code_page=950;rnrn int len=WideCharToMultiByte(code_page,0,msg,-1,NULL,0,NULL,NULL);rn message=new char[len];rn len=WideCharToMultiByte(code_page,0,msg,-1,message,len,NULL,NULL);rn rn *RetVal=(long)SendToSerialPort(message);//这个一个DLL中的函数rn return S_OK;rnrn其中 long SendToSerialPort(char * msg)是另外一个DLL中导出的函数,我写了一个在MFC的rnDOC/VIEW结构的程序,测试过,可以发出中文GB/BIG5,rn但是,当这个<em>组件</em>放到ASP中后,只能发英文,一旦其中包含了中文字符,就什么也发不出去;rn我还试过在STDMETHODIMP CSender::SendShortMessage(BSTR msg, long *RetVal)rn在直接<em>调用</em>:rn SendToSerialPort("我的数据")rn也发不出去;rnrn由于这个DLL是别人给我的,我不清楚它的实现,连一点文档都没有rnrnrnrn
PHP如何调用非COM组件的DLL
RTnnPHP<em>调用</em>一个易语言写的DLLnn求高手写个简单的DEMO
vc.net怎么调用COM组件DLL?
主要是想使用<em>dll</em>中的类 ,我在现有的工程中通过引用一个这个<em>组件</em><em>dll</em> rn 我想生成这个类的实例,请高手们帮忙。rn
java如何来调用com组件dll
各位大侠,请帮帮忙!rn在java中如何能像ASP中;obj=Server.CreatObject("base21");rn<em>调用</em><em>com</em><em>组件</em>????rn非常急,请帮帮忙!rn谢谢。
Python调用C# Com dll组件实战
类似于这种C# 能实现的功能而在Python下实现不了的,搜集资料有两种解决方案,第一种方式,使用IronPython 直接<em>调用</em>C# <em>dll</em>文件,教程网上很多,不在赘述了,这种方式有个缺点,用的是ironPython而非Python,只是集成了一些.net framework库的Python版本,更新维护少;第二种方式是,C# <em>dll</em>源码编译成Com<em>组件</em>,Python再<em>调用</em>COM<em>组件</em>Dll的方法。 网上有很多Python<em>调用</em>COM <em>dll</em>教程,但大部分是C或C++编写的<em>dll</em>,很少有比较全面的
请问如何调用COM DLL的标准接口函数“DllRegisterServer”?
如题
COM组件调用之后的出错,大虾指教!!
<em>组件</em>方法代码如下:rnPublic Function CreateTab(strTbName As String, strsql As String, conn As ADODB.Connection) As Stringrn'建立一个新表rnDim strLog As StringrnDim objContext1 As ObjectContextrnrnSet objContext1 = GetObjectContext()rnrnIf uTabExistADO(conn, strTbName) = False Then '检查是否存在此表rn conn.Execute strsqlrn strLog = "Create Table " & strTbName & " successful!"rn GoTo writelogrnrn strLog = "Create Table " & strTbName & " failed!"rnElsern strLog = "Table " & strTbName & " exisit!"rnEnd Ifrnrnwritelog:rn CreateTab = strLogrn objContext1.SetCompleternEnd Functionrnrn客户端程序<em>调用</em>如下:rnDim con As ADODB.ConnectionrnstrResume = objTest.CreateTab(strTbName, strsql, intFile, con)rn然后,执行如下代码:rnSet rsTemp = New ADODB.RecordsetrnrsTemp.Open "select * from shqy", con, adOpenStaticrnrn此时,<em>出错</em>:rn“分布式事务已经完成,请将此会话登记到新事务或者NULL事务”rn请问大虾,这是何意?如何解决?rn谢谢
如何调用第三方的dllcom组件
在struts中:rn我想把我的一个action动作做成<em>调用</em>rndelphi 7写的.<em>dll</em>或<em>com</em><em>组件</em>??rn该如何做??
vs2005 控制台调用com组件出错 (c++)
<em>com</em><em>组件</em>注册成功,add()为<em>com</em><em>组件</em>中的函数,如下:rnrn#include "stdafx.h" rnrn#include rnrn#include rnrn​#import "F:\Visual Studio 2005\Projects\atl<em>com</em>\atl<em>com</em>\Debug\atl<em>com</em>.tlb" no_namespacernrnint _tmain(int argc, _TCHAR* argv[]) rnrn rnrnCoInitialize(NULL); rnrnCLSID clsid; rnrnCLSIDFromProgID(OLESTR("atl<em>com</em>.FirstClass"),&clsid); rnrnCComPtr pGetRes;//智能指针 rnrnpGetRes.CoCreateInstance(clsid); rnrnpGetRes->add(1,2); rnrnpGetRes.Release; rnrnCoUninitialize(); rnrnrnrn return 0; rnrn连接报错;rnrn1>正在链接...rnrn1>Console.obj : error LNK2020: 无法解析的标记(0A000117) "class ATL::CTraceCategory ATL::atlTraceException" (?atlTraceException@ATL@@3VCTraceCategory@1@A)rnrn1>Console.obj : error LNK2020: 无法解析的标记(0A00011C) "public: static class ATL::CTrace ATL::CTrace::s_trace" (?s_trace@CTrace@ATL@@2V12@A)rnrn1>Console.obj : error LNK2028: 无法解析的标记(0A00011D) "extern "C" void __cdecl AtlTraceVU(unsigned long,char const *,int,unsigned long,unsigned int,wchar_t const *,char *)" (?AtlTraceVU@@$$J0YAXKPBDHKIPB_WPAD@Z),该标记在函数 "public: void __cdecl ATL::CTrace::TraceV(char const *,int,unsigned long,unsigned int,wchar_t const *,char *)const " (?TraceV@CTrace@ATL@@$$FQBAXPBDHKIPB_WPAD@Z) 中被引用rnrn1>Console.obj : error LNK2001: 无法解析的外部符号 "class ATL::CTraceCategory ATL::atlTraceException" (?atlTraceException@ATL@@3VCTraceCategory@1@A)rnrn1>Console.obj : error LNK2019: 无法解析的外部符号 "extern "C" void __cdecl AtlTraceVU(unsigned long,char const *,int,unsigned long,unsigned int,wchar_t const *,char *)" (?AtlTraceVU@@$$J0YAXKPBDHKIPB_WPAD@Z),该符号在函数 "public: void __cdecl ATL::CTrace::TraceV(char const *,int,unsigned long,unsigned int,wchar_t const *,char *)const " (?TraceV@CTrace@ATL@@$$FQBAXPBDHKIPB_WPAD@Z) 中被引用rnrn1>Console.obj : error LNK2001: 无法解析的外部符号 "public: static class ATL::CTrace ATL::CTrace::s_trace" (?s_trace@CTrace@ATL@@2V12@A)rn
web service 调用COM组件出错
我用VS2005 C#写了一个web service 然后<em>调用</em>Google desktop API ,想通过该方法返回查询结果。rn我在发机调试通过,但是在发布后,如果用localhost来<em>调用</em>是没有问题的,但是如果把localhost改成本机IP,其它其它机子来<em>调用</em>的话,便会报错。rn<em>调用</em>COM<em>组件</em>的CLASS 我已经让他从ServicedComponent 从派生。rn我的OS是 WINDOWS 2003 SERVERrn错误为:rnSystem.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID 为 F4CADDD3-B30C-4D9C-97E4-AE92F1A6D340 的<em>组件</em>时失败,原因是出现以下错误: 80040154。rnrnServer stack trace: rn 在 ExecGoogleDll.RemoteServicedComponent.QueryMethod(String sQueryStr, Int32 StartNum, Int32 Length, Int32& TotalCount)rn 在 System.Runtime.Remoting.Messaging.Message.Dispatch(Object target, Boolean fExecuteInContext)rn 在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)rnrnException rethrown at [0]: rn 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)rn 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)rn 在 ExecGoogleDll.RemoteServicedComponent.QueryMethod(String sQueryStr, Int32 StartNum, Int32 Length, Int32& TotalCount)rn 在 WSGoogleDesktopQueryAPI.WebServiceTest.QueryMethod(String sQueryStr, Int32 StartNum, Int32 Length, Int32& TotalCount)rn 在 WSGoogleDesktopQueryAPI.WebServiceTest.QueryBZ(String sQueryStr, Int32 StartNum, Int32 Length, Boolean IsQueryAll)rn 在 WSGoogleDesktopQueryAPI.WebServiceTest.QueryAll(String sQueryStr)rnrn
自动化Com组件在客户端调用出错
我在一个Asp中时需要<em>调用</em>一个动态连接库文件,我用Atl做了一个自动化Com<em>组件</em>,在服务器端(服务器端脚本)<em>调用</em>一切正常。在客户端(客户端脚本中)第一次<em>调用</em>时正常(第一次打开浏览器时),如果刷新是就出一个对话框:“错误:对象不支持此属性或方法:‘方法明’rn请问这是为什么?该怎么处理?rn谢谢!
c#调用 matlab 生成的 com组件出错
1,我用matlab写了一个m文件,m文件的内容为 rnfunction c=mynchoosek(m,n)rnc=nchoosek(m,n)rn然后,把这个m文件编译成 <em>com</em><em>组件</em> <em>dll</em>rn然后 在c#.net工程里引用该<em>dll</em>.并编写程序,<em>调用</em>方法rnstatic void Test()rn int nagout=1;rn object m=10;rn object n=4;rn object c=0;rn businessmynchoosek.businessmynchoosekclassClass bmyncc=new businessmynchoosek.businessmynchoosekclassClass();rn bmyncc.mynchoosek(nagout,ref c,m,n);rnrn if(c==null)rn Console.WriteLine("the result is null");rn elsern Console.WriteLine(c.ToString());rnrn,但是运行结果 报错,报错结果为 empty matrix:0-by-4 rn求错各为达人帮忙解决一下rn
win8 操作系统 调用 com组件出错
C#<em>调用</em>时出现下面错误:rn无法将类型为“DcdzDeviceSvrLib.DcdzLockerSvrClass”的 COM 对象强制转换为接口类型“DcdzDeviceSvrLib.IDcdzLockerSvr”。此操作失败的原因是对 IID 为“8FBD585C-86A2-4E79-AF77-BC100C9B58A7”的接口的 COM <em>组件</em><em>调用</em> QueryInterface 因以下错误而失败: 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。
在windows服务中调用COM接口函数出错(怀疑是权限问题)
我的开发工具是VS2010,开发语言是C#,操作系统是WINDOWS7 64位rnrn我在windows 服务程序程序中<em>调用</em>一个COM服务(OPC DA Automation Wrapper 2.02),windows服务程序和COM服务都位于同一台电脑中。COM的一些<em>接口函数</em>能<em>调用</em>成功,有些<em>接口函数</em><em>调用</em><em>出错</em>(System.Runtime.InteropServices.COMException was caught)。如果我生成一个一般的应用程序去<em>调用</em>COM,则没有任何问题,可见问题出在windows服务这边,我怀疑是某些权限的设置问题。rnrn我在服务的属性登录选项卡中选择“本地系统账户”的时候,会出现上述问题。我选择“此账户”,输入用户名和密码(用户名是管理员权限),但是问题依然存在。rn
delphi中调用COM接口函数后会出错,为什么?
我的<em>调用</em>过程基本如下:rn首先,在Form创建时执行OleInitialize(nil);rn然后,我写了一个function():Boolean函数,其中步骤如下,rn CoCreateInstance();rn <em>调用</em>某某<em>接口函数</em>,并得到正确结果;rn Result := True;// return;rn这个时候就<em>出错</em>了!!rn我没明白为什么?谁给我答案呢?谢谢:Drn
COM组件中的接口函数怎么不见了?
我自己用ATL编写了一个COM<em>组件</em>,接口中定义了一个结构,有一个<em>接口函数</em>需要用该结构作为[in,out]参数,该<em>组件</em>在VB<em>调用</em>时正常,但是在VC中用类向导从该<em>组件</em>的类型库中导入的类定义中却没有了该<em>接口函数</em>,哪位能解答是为什么,如何解决?
com里面调用com的问题
CoInitialize不行rnrn具体要怎么做
Dll还是COM组件
想写一个游戏客户端,想把不同的模块放在不同的Dll中实现,那么用一般的Dll好,还是COM<em>组件</em>合适?
dllcom组件区别
自己总结的,<em>dll</em>及<em>com</em><em>组件</em>区别,欢迎有需要的朋友参考
注册COM组件出错
小弟刚刚开始学习COM编程:rn写好书上(VC++6.0技术内幕ex24b)例题后,注册<em>组件</em>时<em>出错</em>rn用附带光盘上的文件也一样,rn<em>出错</em>提示是:“内存分配访问无效”rn望各位大哥指点一下rnrn小弟系统是 WIN2000 SERVER + SP4
php com 组件出错
Fatal error: Uncaught exception '<em>com</em>_exception' with message 'Failed to create COM object `word.application': 尚未<em>调用</em> CoInitialize。 ' in F:\wamp\www\word.php:3 Stack trace: #0 F:\wamp\www\word.php(3): <em>com</em>-><em>com</em>('word.applicatio...') #1 main thrown in F:\wamp\www\word.php on line 3rnrn这个是什么错误啊
Com组件调用Com组件的问题
现在有个 A.<em>dll</em> 这个Com<em>组件</em>已经注册, 现在我自己写了一个Com<em>组件</em>B.<em>dll</em>,用ATL向导做的, 现在我要在B<em>里面</em>写代码<em>调用</em>A<em>里面</em>的接口 请问怎么做?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组件调用组件的问题
A和B两个<em>组件</em>,各有一个接口:IA1和IB1,其中IB1的一个方法Bfun的返回参数类型为IA1,也就是说IB1<em>调用</em>了IA1接口rn然后有一个C#写的<em>调用</em><em>组件</em>的demornrndemo中,我只引用了B.<em>dll</em>,然后在<em>调用</em>IB1的方法Bfun时,需要返回一个IA1类型的参数,这个参数我通过B<em>组件</em>就可以声明了!这样是不是不对?rnrn问题有3个:rn1、demo中,如果只引用B.<em>dll</em>后,是不是只能看到B的接口,看不到A的接口?rn2、demo中,如果需要定义接口IA1,是不是必须要把A.<em>dll</em>引用进来,然后using ALib; 然后再声明一个接口对象?rn3、<em>组件</em>代码中,<em>组件</em>B在引用A的接口时,该如何引用呢?就是在B的idl文件中该如何写呢?rnrn多谢多谢啦!
调用COM接口函数时,找不到CLSID
1.#import esriCarto.tlh文件后,声明变量rnesriCarto::IDataLayerPtr m_DataLayer;rnrn2.按照一般的COM接口的规则,CLSID:[color=#FF0000]CLSID_DataLayer[/color];IID:[color=#FF0000]IID_IDataLayer[/color];但esriCarto.tlh文件内只有IID_IDataLayer没有CLSID_DataLayer,所以就没法按照如下方法<em>调用</em>了:rnHRESULT hr;rnhr=CoCreateInstance(esriCarto::CLSID_DataLayer,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void **)&pUnk);rnpUnk->QueryInterface(esriCarto::IID_IDataLayer,(void**)&m_DataLayer);rnpUnk->Release();rn有没有解决的办法?或者其它的方法?
C#中怎样调用com接口函数
我已经添加了这个<em>com</em>的引用,并且能看到它的<em>接口函数</em>了,但就是不知道怎么<em>调用</em>!例如:rnrnusing Ext_Librnrn// button onclick 函数中rnExt_Lib.IFace iface=new Ext_Lib.IFace(); //line1rniface.Fun(); //line2rnrnrn我这样写的话,line1这一行<em>出错</em>,我是按<em>调用</em>类的方式写的,不知道<em>com</em>接口的话怎么创建实例?
VB调用COM接口函数时,返回乱码
我用VC6的ATL编写了一个COM<em>组件</em>,其中一个接口是rnSTDMETHODIMP CNoRecognize::VBTest([out]BSTR *text, [out]int *num)rn在用VB进行<em>调用</em>rnDim text As StringrnDim num As LongrnObject.VBTest text, numrnLabel1.Caption = CStr(text)rnrnrn结果text显示为乱码(text中含有中文和英文),而num正常,我对VB不是很熟悉,不知怎么回事,希望那位能给指点指点rnrnrn
VC怎样调用COM控件的接口函数
如题,拜托,我试了些方法都不行?那位高手指定一下,先谢了rn
COM组件调用过程
概念 COM套件   COM<em>组件</em>的运行环境,包括:COM<em>组件</em>的数据、变量和线程调度方式。
COM组件的实现和调用
COM<em>组件</em>的实现和<em>调用</em>,VC6平台,简单的例子,适合初学者
怎么调用com组件
我怎么<em>调用</em>一个<em>组件</em>呀 是大漠插件, 名字dm.<em>dll</em>. 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.<em>dll</em>"),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>这个接口。
com组件的事件调用
我现在编写一个控制台应用程序,这个程序要用到一个<em>com</em><em>组件</em>的事件,请问我该如何<em>调用</em>此<em>com</em><em>组件</em>?
COM组件调用??
我用C++ 编写了2个很简单的<em>com</em><em>组件</em>,是<em>dll</em>。能不能用第三个<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) { // ...
wpf调用com组件
wpf<em>调用</em><em>com</em><em>组件</em>,似乎没办法<em>调用</em>。而且<em>com</em><em>组件</em>似乎也是要界面的!
MFC调用com组件
MFC <em>调用</em>C#<em>dll</em>注册的COM<em>组件</em>,怎么写?
jacob调用com组件
<em>com</em><em>组件</em>可以存在exe,或者<em>dll</em>中,而且对vb,vc,delphi等语言提供了统一的<em>调用</em>,而<em>dll</em>只能存在于<em>dll</em>文件中,而且不同语言<em>调用</em>方式不一样,<em>com</em><em>组件</em>开发难度相对于<em>dll</em>较大,多用于大型项目中。 java主要使用jacob来<em>调用</em><em>com</em><em>组件</em>。 1.注册<em>com</em><em>组件</em>(这里使用大漠插件dm.<em>dll</em>) regsvr32 dm.<em>dll</em> 另外regsvr32 /u dm.<em>dll</em> 代表卸载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是什么意思?
如何调用 com 组件
我用delphi写了一个间单的<em>com</em> <em>组件</em>,只有一个属性和一个方法,在vb 能成功<em>调用</em>,在dephi 中不知如何<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><em>dll</em>,但是怎么用啊?rn我用C#写的<em>调用</em>程序,直接添加引用好像不行,应该怎么引用啊?rn急问,谢谢。。。。
PB调用com组件
还是上次我问的那个问题,因为Pb不能直接<em>调用</em>C#编写的<em>dll</em>文件,这次我用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.<em>dll</em>(32位)的,在实例对象的时候(MODI.Document doc = new MODI.Document();)报错,信息如下》,是什么导致的,我已经注册好了<em>dll</em>了。rnrnSystem.Runtime.InteropServices.COMException (0x80040154): 检索 COM 类工厂中 CLSID 为 40942A6C-1520-4132-BDF8-BDC1F71F547B 的<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非常感谢!!!
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
搜索引擎与搜索经济.ppt下载
搜索引擎与搜索经济(网络转发)搜索引擎与搜索经济(网络转发)搜索引擎与搜索经济(网络转发) 相关下载链接:[url=//download.csdn.net/download/aiam1/3382113?utm_source=bbsseo]//download.csdn.net/download/aiam1/3382113?utm_source=bbsseo[/url]
实现不同窗体间的传值下载
实现不同窗体间的传值,里面用到了 属性 事件,希望对你的学习有帮助。。 相关下载链接:[url=//download.csdn.net/download/aasswwe/3456696?utm_source=bbsseo]//download.csdn.net/download/aasswwe/3456696?utm_source=bbsseo[/url]
NGUI视频教程下载
NGUI中文视频教程网址,82课循序渐进的讲述了NGUI,很值得一看 相关下载链接:[url=//download.csdn.net/download/suyanfanhuameng/7935913?utm_source=bbsseo]//download.csdn.net/download/suyanfanhuameng/7935913?utm_source=bbsseo[/url]
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制
我们是很有底线的