佚名通过本文主要向大家介绍了atl34砂轮,atl方形动力电池,atl80.dll官方下载,atl71.dll一键修复,atl71.dll修复等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ATL初级问题请教
描述:
解决方案1:
描述:
我用ATL编写了一个封装了关于HTML操作DLL,接口函数为方法的实现,比如ClickButtonElement(...)点击网页上的button操作等。
我在客户程序中import了此DLL,然后定义IHTML* html;
html->ClickButtonElement(...);
可是现在是指针为NULL,应该怎么用啊?
解决方案1:
已经import了,用智能指针就很方便啊。不用IID,用ProgID就行了
IHTMLPtr spHtml;
IHTMLPtr.CreateInstance( "ProgID" );//ProgID在你用ATL做的那个工程那个*rgs文件里面就有
接口定义一般是在你的工程目录下的.h或者.idl文件中。
解决方案3:IHTMLPtr spHtml;
解决方案4:import只是导入类型库,然后生成一个智能指针而已,其实这个智能指针就是一个类,主要提供了若干操作COM对象的方法和对部分COM库函数的封装,比如QueryInterface,CoCreateInstance等,然后它在内部维护了一个地址变量指向你用前面两个方法中的一种得到的接口,然后它内部重载了"->"和"="操作符。
解决方案5: //初始化,还要创建实例指针
CoInitialize
CoCreateInstance