本人从事com开发不久,现在遇到了一个很郁闷(也许是很幼稚)的问题,恳请各位高手提供一些提示,多谢了。我要做的是在原来ie插件的基础上增加浏览器栏的功能,原来的工程主要用bho技术做了一个dll,然后用个win32的exe(wtl实现的)调用(不知道这样表达是否正确),exe部分是一个对话框,安装后点击工具栏的图标就会出现对话框,现在想做成点击图标出现下面的浏览器栏,浏览器栏上加一个选项框的按钮。单独实现浏览器栏我从msdn中找到了例子程序,是一个dll的项目,现在让我困惑的是怎样将这个单独实现浏览器栏的dll融入到之前的项目里。因为两个dll都要写入注册表里一些东西,然后ie启动后加载一些东西,两个合并成一个dll,还是写成两个dll。

解决方案 »

  1.   

    如果是插件的话,那么可以通过(vc6)project->add to project->compents and controls...
      

  2.   

    多谢各位,我用的vs2003,通过在原来的工程添加现有项,然后重新生成解决方案,出现了一大堆错误。都是类似于C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlconv.h(664): error C2440: “return” : 无法从“LPCOLESTR”转换为“LPCTSTR”
            与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
     的错误,是不是所用的atl头文件不兼容,单独运行没有问题。
      

  3.   

    不好意思,通过修改新加项目的属性,上面的问题已经解决。编译没有问题了,但在链接时出现了两个问题:
    ieupbho error LNK2001: 无法解析的外部符号 "class WTL::CAppModule _Module" (?_Module@@3VCAppModule@WTL@@A)
    ieupbho fatal error LNK1120: 1 个无法解析的外部命令
    因为之前的工程用了wtl技术,新加的dll项目还要做一些相应的修改。多谢了!