我在VC.NET2003中..在一个对话框中放一个Activex,IE控件.为的是可以显示一个网页.VC6中是 CWebbrower2在.NET中是:CWeb问题来了..我要用
_variant_t url = m_strU; //m_strU Cstring类型
m_web.Navigate2(&url, NULL, NULL, NULL, NULL);
在VC6中出现LINK error .
ConvertStringToBSTR
加入.
#include ".\mywebdlg.h"
#include <comutil.h>
#pragma comment(lib,"comsupp.lib")
成功运行..
但在.net也出现了 link error
但是加了
#include ".\mywebdlg.h"
#include <comutil.h>
#pragma comment(lib,"comsupp.lib")
没有解决..我以为其他代码影响,新建.NET工程.还是有错误.不知道是哪的问题.
vc6没有问题啊..
而且我用.NET编译.vc6的工程.也不能通过..怎么解决.net的问题.我其它代码都是.NET中写的.
疯掉了.

解决方案 »

  1.   

    先这样试试:
    _web.Navigate2(_T"www.sohu.com", NULL, NULL, NULL, NULL);
    好像是类型不对的问题呀!
      

  2.   

    楼上的...这个是LINK ERROR ,按理说这种错误多半是没有加入LIB所致你的我试过.这个错误.编译都不行.
    error C2664: “CWebBrowser2::Navigate2” : 不能将参数 1 从“const char [13]”转换为“VARIANT *”我的程序应该没有问题啊..在VC6上都可以运行.就是到.NET出错误..见鬼了...
      

  3.   

    我刚试行了:
    COleVariant vtEmpty;
    COleVariant vaURL = "www.sohu.com";
    EXPLORER2.Navigate2(&vaURL,&vtEmpty,&vtEmpty,&vtEmpty,&vtEmpty);
    //不太容易,麻烦死了
      

  4.   

    我觉得还是类型的问题,估计是!在vc6中可能不太严格,但vc7中非常严谨!
      

  5.   

    谢谢楼上。。果然好用。。哈哈。。~~~学习。。ing
      

  6.   

    CHtmlView的源代码里面不是有一个Nagigate2的封装么,照搬就行