动态创建webbrowser所引起的问题,高手看看!
代码如下:
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




