收录日期:2019/07/17 12:56:17 时间:2016/06/28 20:27:52 标签:ATL/ActiveX/COM
想利用VC调用写好的ATL组件,如testcom.dll组件,接口是IMyTest.
我的调用方法是:

(1)在工程中的stdafx.h文件中加入如下语句:
#import "testcom.dll" no_namespace
在Debug文件中生成了,testcom.tlh和testcom.tli

(2)然后再编译过程中,出现错误:
 'IMyTest':undeclared identifier 
  不知还需要添加什么?

  请教大家一下,怎么写,才能利用#import方法调用组件.
IMyTestPtr ptr;
ptr.CreateInstance();
这样
不过按理说IMyTest也能够使用的
    (1)将#import "testcom.dll" no_namespace 加入到测试程序Test.cpp中编译通过了,IMyTest *pIRF=NULL;这句就没什么问题了.
    (2)可是又出现了,一个新的错误了.我在组件中增加的方法为:
         STDMETHOD(LoadFile)(/*[in]*/BSTR FileName,/*[out,retval]*/BOOL *result);
   可是在测试程序中,编译后出现错误:'LoadFile' : function does not take 2 parameters
    (3)查找了一下testcom.tlh,文件中有如下定义:
       IMyTest: IDispatch
       {
           //
           // Wrapper methods for error-handling
           //

           long LoadFile (
               _bstr_t FileName );

           //
           // Raw methods provided by interface
           //

           virtual HRESULT __stdcall raw_LoadFile (
               BSTR FileName,
               long * result ) = 0;
       };
    (4)testcom.tli中有:
       inline long IMyReadFile::LoadFile ( _bstr_t FileName ) {
           long _result;
           HRESULT _hr = raw_LoadFile(FileName, &_result);
           if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
           return _result;
       }
    (5)没有我定义的LoadFile(BSTR FileName, BOOL *result),这是为什么呀,是我编写组件时,丢掉什么了,刚利用ATL学写COM组件,不太清楚这是什么原因.


   
请大家知道的,回答一下上面的问题吧.

sco openserver 5.0.6 操作系统死机 silverlight memory 使用问题(out of memory) Java Swing 组件如何显示嵌套了svg的html? double类型数据输出到缓存的效率问题,求最优方案 windows API:TreeView Control如何快速删除某一结点的所有子结点 想用MFC做一个用socket 的类似http服务器一点点功能的小例子,就指导 求问如何动态生成Span 发几个搞笑的段子 请问下,我创建一个触发器后删除不了啦,一删除pl/sql就未响应,其他的能删除,这是怎么回事??请帮帮忙 程序猿扯淡群,专场!!!!!求顶起!!! 急急急...跪求PDF java简单项目案例 组合函数语法求解! 浏览器之间的兼容问题 育新地铁旁东村家园次卧850赔钱转租 简单问题有没有简单的解决办法 如何把一个字符串变量的内容,设为变量名字本身? 【普及知识】不是什么感冒都能喝板蓝根! 求帮助!!!新人!!计时器码表的问题 关于如何赛选txt文本中数据的问题 eclipse使用问题 内存泄露 boundcheck都无法查出来 用的是VC6.0 jsp如何对ognl获得的值进行数学运算 在线等大神,关于CISCO ASA 5505防火墙 vpn 能否搭建针对不同客户的不同独立vpn asp如何过滤字符串中的非汉字? 如何得到Repeater内GridView的值 如何实现TreeView 中权限选中就把他写到文本框中 要不要去培训 大侠们 看这里 看这里! 关于[Index was outside the bounds of the array.]的问题 ibatis 操作 access 插入一条记录报异常