CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  VCL组件使用和开发

动态创建webbrowser所引起的问题,高手看看!

楼主qqfqqf(qqjqqj)2005-04-01 13:54:07 在 C++ Builder / VCL组件使用和开发 提问

代码如下:  
  CppWebBrowser2=new   TCppWebBrowser(Form1);  
    Variant   s;  
    s="http://www.china.com";  
    (dynamic_cast<TControl*>(CppWebBrowser2))->Parent=Form1;  
    CppWebBrowser2->Navigate(s);  
    CppWebBrowser2->OnDocumentComplete=CppWebBrowser2DocumentComplete;  
  最后一句总是出现以下错误.  
  [C++   Error]   MainForm.cpp(684):   E2034   Cannot   convert   'void   (_fastcall   *   (_closure   )(TObject   *,IDispatch   *,Variant   *))(TObject   *,IDispatch   *,Variant   *)'   to   'void   (_fastcall   *   (_closure   )(TObject   *,IDispatch   *,tagVARIANT   *))(TObject   *,IDispatch   *,tagVARIANT   *)'  
  其它的某一些事件也是一样.  
  高手帮忙解决一下吧!  
  问题点数:100、回复次数:5Top

1 楼kingfish(工作很忙,很少来csdn...)回复于 2005-04-02 20:07:15 得分 0

第三个参数类型修改一下  
  如  
  void   __fastcall   TForm1::CppWebBrowser2DocumentComplete(TObject   *Sender,LPDISPATCH   pDisp,   tagVARIANT   *URL)  
  {  
      ShowMessage("OK!");  
  }Top

2 楼qqfqqf(qqjqqj)回复于 2005-04-04 20:56:15 得分 0

第三个参数类型修改一下还是不行,why?Top

3 楼kingfish(工作很忙,很少来csdn...)回复于 2005-04-04 21:48:52 得分 50

我试过可以的,.h也要改Top

4 楼3996906(我只是建议,不提供最后的解决方法)回复于 2005-04-04 23:36:37 得分 50

头文件  
  //---------------------------------------------------------------------------  
   
  #ifndef   Unit1H  
  #define   Unit1H  
  //---------------------------------------------------------------------------  
  #include   <Classes.hpp>  
  #include   <Controls.hpp>  
  #include   <StdCtrls.hpp>  
  #include   <Forms.hpp>  
  #include   "SHDocVw_OCX.h"  
  #include   <OleCtrls.hpp>  
  //---------------------------------------------------------------------------  
  class   TForm1   :   public   TForm  
  {  
  __published: //   IDE-managed   Components  
                  TButton   *Button1;  
                  void   __fastcall   Button1Click(TObject   *Sender);  
  private:  
                  TCppWebBrowser   *   CppWebBrowser2;  
                  void   __fastcall   CppWebBrowser2DocumentComplete(TObject   *   Sender,   LPDISPATCH   pDisp,   tagVARIANT   *   URL); //   User   declarations  
  public: //   User   declarations  
                  __fastcall   TForm1(TComponent*   Owner);  
  };  
  //---------------------------------------------------------------------------  
  extern   PACKAGE   TForm1   *Form1;  
  //---------------------------------------------------------------------------  
  #endifTop

5 楼3996906(我只是建议,不提供最后的解决方法)回复于 2005-04-04 23:36:58 得分 0

.cpp  
   
  //---------------------------------------------------------------------------  
   
  #include   <vcl.h>  
  #pragma   hdrstop  
   
  #include   "Unit1.h"  
  //---------------------------------------------------------------------------  
  #pragma   package(smart_init)  
  #pragma   link   "SHDocVw_OCX"  
  #pragma   resource   "*.dfm"  
  TForm1   *Form1;  
  //---------------------------------------------------------------------------  
  __fastcall   TForm1::TForm1(TComponent*   Owner)  
                  :   TForm(Owner)  
  {  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
                  CppWebBrowser2   =   new   TCppWebBrowser(Form1);  
                  Variant   s;  
                  s="http://www.china.com";  
                  (dynamic_cast<TControl*>(CppWebBrowser2))->Parent=Form1;  
                  CppWebBrowser2->Navigate(s);  
                  CppWebBrowser2->OnDocumentComplete   =   CppWebBrowser2DocumentComplete;  
  }  
  //---------------------------------------------------------------------------  
  void   __fastcall   TForm1::CppWebBrowser2DocumentComplete(TObject   *   Sender,   LPDISPATCH   pDisp,   tagVARIANT   *   URL)  
  {  
                  //TODO:   Add   your   source   code   here  
  }Top

相关问题

  • 如何在运行时动态创建webBrowser对象?
  • 300分求教动态创建 webbrowser 高难度问题!
  • 动态创建的WebBrowser如何捕捉newWindows消息
  • 动态创建......
  • 动态创建TQuery
  • 创建动态datawindow
  • 动态创建表
  • 动态创建的控件如何响应事件,如动态创建的webbrowser控件怎样响应DocumentComplete事件
  • !!自动创建还是动态创建!!
  • 动态创建窗体?

关键词

  • cppwebbrowser2
  • fastcall
  • tagvariant
  • tform
  • documentcomplete
  • tobject
  • tcppwebbrowser
  • lpdispatch pdisp
  • idispatch
  • variant

得分解答快速导航

  • 帖主:qqfqqf
  • kingfish
  • 3996906

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo