收录日期:2019/10/21 08:22:44 时间: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组件,不太清楚这是什么原因.


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

高手!请帮我改变Button的颜色! 开发的手机短信源码 简单问题 哪里出错了,久思不得其解. 我的CPU占用率老是100%.谁可以解决这个问题 简单问题,真的简单! 请教:如何为wstring赋值? ASP 登陆到SQL的方法? 如何取得CImageList的IDispatch接口?? 我想用二个按钮,来代替listbox的垂直滚动条,就是当按了a按钮后,listbox就会向上翻,按了b后,listbox就会向下翻,应该如何来实现呢 请教:如何为wstring赋值? css问题,在线等. 页面style继承问题,在线等 新手问题! 大家好~~~我是新人!!出来送分!! 求救,关于生成缩略图~ 入门学c,现在要学汇编,老是转不过弯来,怎么办。 请教 锁定一笔画和马的问题咯 smch(Ashes Of Time) 你的CD数据我已经收到,请进来签名领分了 请各位帮忙看看是出了什么问题,一个很简单的asp 如何用Windows Server 2003建个人的FTP服务器呢? 我看下面的帖子有很多是想捞题的!鄙视!!! smch(Ashes Of Time)请进 Delphi大联盟-(最好的讨论,求助QQ群 号码:1463857) 求助!机器总是不正常…… 关于显卡驱动! fopen打开远程文件的问题 Delphi大联盟-(最好的讨论,求助QQ群 号码:1463857) Delphi大联盟-(最好的讨论,求助QQ群 号码:1463857)