不用this指针就会非法访问

Alan_Pisces 2008-02-29 01:05:06
我用BCB ,NEW 出来一个Form1窗体,然后在它的FromCreate事件里,有Form1->Height = 378;就报非法访问,
而用this->Height = 378;就没有问题,为什么呢?
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
anmoi_yang 2008-03-02
  • 打赏
  • 举报
回复
Form1在BCB中默认为全局, 已存在.
Alan_Pisces 2008-03-02
  • 打赏
  • 举报
回复
按道理说THIS只是FormCheck的引用,应该没有区别啊?!
Alan_Pisces 2008-03-02
  • 打赏
  • 举报
回复
FormCheck = new TFormCheck(this);
FormCheck->ShowModal();
delete FormCheck;
FormCheck = NULL;
后面在FromCreate事件里,就会报错,不是.
Alan_Pisces 2008-03-02
  • 打赏
  • 举报
回复
我调试了一下,确实他是NULL,但是只要过一段时间就好了,比如Sleep(10),就有值了.
ThinkX 2008-02-29
  • 打赏
  • 举报
回复
好久不用BCB,猜测错误的原因是:
Form1是全局变量,你使用的那个时候还没赋值呢,为 NULL或任意值。
猛禽 2008-02-29
  • 打赏
  • 举报
回复
因为你new的方式不对,new出来的实例并没有赋值给Form1,所以使用Form1会出AV错误。
sczyq 2008-02-29
  • 打赏
  • 举报
回复
Form1->
this->

均不要,只要:

Height = 378;
ydlchina 2008-02-29
  • 打赏
  • 举报
回复
需要看看你的代码,
Form1-> Height = 378;
在此的Form1我才是你new的变量名
this-> Height = 378;
this是变量所在的对象,如form,可由他来释放窗体

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧