CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

为何总是提示非法存取?

楼主qqfqqf(qqjqqj)2002-06-26 11:12:15 在 C++ Builder / 基础类 提问

void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
  WideString   s;  
  s="d:\\book.htm";  
  TCppWebBrowser   *CppWebBrowser1=new   TCppWebBrowser(Form1);  
  (dynamic_cast<TControl*>(CppWebBrowser1))->Parent=Form1;  
  CppWebBrowser1->Navigate(s);  
  CppWebBrowser1->OnDocumentComplete=Form1->CppWebBrowser1DocumentComplete;  
  }  
   
   
  void   __fastcall   TForm1::CppWebBrowser1DocumentComplete(TObject   *Sender,  
              LPDISPATCH   pDisp,   TVariant   *URL)  
  {  
  IHTMLDocument2   *document;  
  BSTR   title;  
  (void   *)document=CppWebBrowser1->Document;  
  document->get_title(&title);  
  Edit1->Text=title;  
  }  
   
  出现错误提示:Access   violation   at   address   400D1388   in   module   "VCL50.BPL".Read   of   address   00000208.  
  如何解决??请大家帮忙。谢谢!!!  
   
   
   
  问题点数:100、回复次数:11Top

1 楼jxlee365(老牛自知黄昏晚,不待扬鞭自奋蹄)回复于 2002-06-26 11:41:53 得分 10

CppWebBrowser1->OnDocumentComplete=Form1->CppWebBrowser1DocumentComplete;这句去掉,  
  选定CppWebBrowser1后,直接从OBJECT   INSPECTOR  
  关联OnDocumentComplete事件。Top

2 楼jishiping(JSP 季世平)回复于 2002-06-26 12:03:53 得分 10

在同一个class里,为什么有那么多的人不用this,   而是喜欢用Form1  
  这样的外部变量名呢?要知道这样用,可能是有问题的(就要看你在  
  在其它地方怎么写了),用this不好吗,还是不知道用this。  
   
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
  WideString   s   =   "d:\\book.htm";  
  TCppWebBrowser   *CppWebBrowser1=new   TCppWebBrowser(this);  
  CppWebBrowser1->Parent=this;  
  CppWebBrowser1->Navigate(s);  
  CppWebBrowser1->OnDocumentComplete=CppWebBrowser1DocumentComplete;  
  }Top

3 楼jxlee365(老牛自知黄昏晚,不待扬鞭自奋蹄)回复于 2002-06-26 17:11:49 得分 0

你先不要动态生成控件,  
  设计时就把它拖到FORM上去。  
  非法访问很可能与这段的上下文有关。Top

4 楼ddeng(登登)回复于 2002-06-26 17:50:57 得分 50

没有问题啊  
   
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
                  WideString   s   =   L"http://www.csdn.net";  
                  TCppWebBrowser   *CppWebBrowser1=new   TCppWebBrowser(this);  
                  CppWebBrowser1->Align   =   alClient;  
                  CppWebBrowser1->Parent=this;  
                  CppWebBrowser1->OnDocumentComplete   =   CppWebBrowser1DocumentComplete;  
                  CppWebBrowser1->Navigate(s);  
  }  
  void   __fastcall   TForm1::CppWebBrowser1DocumentComplete(TObject   *Sender,  
              LPDISPATCH   pDisp,   TVariant   *URL)  
  {  
                  TCppWebBrowser   *cb   =   dynamic_cast<TCppWebBrowser   *>(Sender);  
                  if(cb==NULL)   {  
                                  return;  
                  }  
                  IHTMLDocument2   *document;  
                  BSTR   title;  
                  (void   *)document=cb->Document;  
                  document->get_title(&title);  
                  Edit1->Text=title;  
  }  
  Top

5 楼RedProgramer(TST : RedSteel)回复于 2002-06-26 21:05:06 得分 0

jishiping说的很有道理,因为动态生成的窗体很可能不叫Form1,这时你的赋值就有可能出问题,因为Form1指向空地址Top

6 楼yeqiufeng(叶秋枫)回复于 2002-06-26 22:33:56 得分 0

我来晚了  
   
  请问问题是否解决了  
   
  我打个标记先  
   
  @_@Top

7 楼Lo(BlackJack)回复于 2002-06-27 01:24:20 得分 0

搞定了吗?Top

8 楼qqfqqf(qqjqqj)回复于 2002-06-28 00:58:12 得分 0

还没有呢Top

9 楼Lo(BlackJack)回复于 2002-06-28 01:21:40 得分 0

在我的机子上编译完全正常呀!  
  你用单步执行看看,是错在哪一句了?Top

10 楼naughtyboy(重归起跑线)回复于 2002-06-28 02:13:09 得分 30

void   __fastcall   TForm1::CppWebBrowser1DocumentComplete(TObject   *Sender,  
              LPDISPATCH   pDisp,   TVariant   *URL)  
  这是不是你自己定义的过程??  
  如果是那就不能用下面这句命令  
  (void   *)document=CppWebBrowser1->Document;  
  因为CppWebBrowser1是你动态创建的  
  你不能自己编写的DocumentComplete里面直接用CppWebBrowser1  
  Top

11 楼lingyunfeipu(凌云)回复于 2002-06-28 09:03:16 得分 0

我也遇到过Top

相关问题

  • 为何非法?
  • 为何不能存取pjx文件?
  • winxp 总提示ie非法操作~!
  • vb6怎么存取blob字段?提示:数据类型不支持
  • office2000出现非法操作提示安装问题
  • 如何提示“用户名中包含非法字符”
  • char str[]="I love abc";printf("%s\n",str[1]);提示非法访问
  • 总是提示内存非法,不知是什么原因?
  • 为何提示错误?
  • 为何提示该错误

关键词

  • document
  • cppwebbrowser
  • tcppwebbrowser
  • documentcomplete
  • ondocumentcomplete
  • button1click
  • fastcall tform
  • tvariant
  • lpdispatch pdisp
  • tobject

得分解答快速导航

  • 帖主:qqfqqf
  • jxlee365
  • jishiping
  • ddeng
  • naughtyboy

相关链接

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

广告也精彩

反馈

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