社区
C++ Builder
帖子详情
不解,不解…………(她多余吗“)
shudingbo
2003-01-07 07:25:54
在bcb中
为啥每个类
都有一个
TForm1 *Form1;//指向自己的指针
这有啥用,用this 不就可以了吗!
而且删了后编译还通不过!不和标准哟!
望赐教!!!!!!
...全文
41
21
打赏
收藏
不解,不解…………(她多余吗“)
在bcb中 为啥每个类 都有一个 TForm1 *Form1;//指向自己的指针 这有啥用,用this 不就可以了吗! 而且删了后编译还通不过!不和标准哟! 望赐教!!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shudingbo
2003-01-08
打赏
举报
回复
我的观点同 jishiping(JSP 季世平) 差不多!
Form的实现应该完全掌握在程序员的手上,
而不是 由IDE 自动创建!
hatumei
2003-01-08
打赏
举报
回复
这是C++基本语法呀,Form1是TForm的一个全局实例.
在类代码里用this指向的是当前实例.它不局限特定的实例.
jishiping
2003-01-08
打赏
举报
回复
在Form2里访问自己的成员,直接写成员名就可以了。比如:
class TForm2 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
int X, Y;
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
X = 10; Y = 10;
//不要写成 Form2->X = 10; Form2->Y = 10;
}
tccsdn
2003-01-08
打赏
举报
回复
to 季大侠:
如果调用Form2的成员时要怎么调用呢,我一前就是这样调用的,那呀怎么写才
安全呢,望赐教
jishiping
2003-01-08
打赏
举报
回复
这样做的目的,就是为了在WinMain里自动创建Form使用的。凡是Form没有自动创建的,都可以将那行去掉。其实我也认为Borland不应该这样做,这样做害苦了很多初学BCB的人,他们总喜欢动不动就使用这些外部变量,明明是Form2里的代码,访问Form2的成员时,好多初学者喜欢在前面加上一个Form2->,这样的写法是不规范的,也是很危险的。
tccsdn
2003-01-08
打赏
举报
回复
谢谢,有学了一招
jishiping
2003-01-08
打赏
举报
回复
"Form1访问Form2的呢,象Form2上面的什么控件什么之类的?"
这时可以通过那个全局变量访问,但不是一定要通过全局变量,可以这样做:
TForm2* Form = NULL;
for(int n=0; n<Screen->FormCount; n++) {
Form2 = dynamic_cast<TForm2*>(Screen->Forms[n]);
if (Form2!=NULL) break;
}
这样你也可以得到Form2,然后通过这个局部变量Form2访问Form2的成员。当
然了,这样比较费事一点。我的意思就是,坚决反对在Form2里使用Form2->
这样的写法。
mustang_zr
2003-01-08
打赏
举报
回复
学习
tccsdn
2003-01-08
打赏
举报
回复
Form1访问Form2的呢,象Form2上面的什么控件什么之类的?
Wliqian
2003-01-07
打赏
举报
回复
真有意思,不同的人不同的思路,不同
的回答,向大家学习。
yhz
2003-01-07
打赏
举报
回复
这句话是要创建一个窗体的实例,
没有他,当然不行。
ThinkX
2003-01-07
打赏
举报
回复
为了让其他的cpp和h文件可以访问这个Form。
mopyman
2003-01-07
打赏
举报
回复
我靠,这是标准的C Plus Plus语法,你的程序要运行总要有个TForm1类的实例吧,不然怎么出来GUI
这是窗体类的实例化,必须要的
楼主结贴吧.
-------------------------------------------------------------------
该问题已经结贴 ,得分记录:mopyman(20)
Wliqian
2003-01-07
打赏
举报
回复
这得去问设计BCB的人,为什么这样规定。
建议先学该怎么样,再来学为什么要这样。
大大怪老张
2003-01-07
打赏
举报
回复
学习
myy
2003-01-07
打赏
举报
回复
这是:
BCB的IDE为了便于实现“非模式显示 并且 是Auto create 的窗体”,比如
主窗体,如不是上述情况的Form,完全可以象 PPower() 说的那样删除掉。
cdws222
2003-01-07
打赏
举报
回复
不多余,以后你会明白的
勉励前行
2003-01-07
打赏
举报
回复
.h File
//extern PACKGE TForm1 *Form1 ; //delete it
.cpp File
//TForm1 *Form1;//delete it
多看看C++
kingfish
2003-01-07
打赏
举报
回复
删掉后自己还是要写
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
TForm1 *Form1;
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
kingfish
2003-01-07
打赏
举报
回复
//删了后编译还通不过
???
加载更多回复(1)
听风(2)
一个人站在落地窗前,居高临下地看人间万象,正是一日之晨,对于大多数人而言,又是平常一天的开始,或许有人抱怨工作太忙薪水太少,或许有人因为家庭不睦而无比烦恼……而她,却要感谢上苍依旧能让她看...
遇见未知的自己……
」老人耐心地解释,「如果他真正地尝了一口,那么所有的语言都是
多余
的了……」 若菱有点困了,真的不知道老人为什么拉着她说这么多令人困惑的话。 她瞥了一下四周,要命了,老人像是个隐居的高士,家里居然看不...
活出全新的自己……
幸雄愕然地看著图特,浑然
不解
.。 “‘时间’是你们三维空间特有的产物,它看起来好像是直线进行的,有过去、现在、未来。我现在不想造成你太多困惑,所以我只想问你,如果我说‘时间’在我们看来,跟你们...
《魔鬼搭讪学》的笔记……
但女人却不然,只要还没接受这个男人,那么她生活中的任何一件小事(来例假了、跟同事闹摩擦、接了个前男友的电话、昨晚没睡好……)都可能影响她去赴约。按她们自己的话说,就是“没心情了”,这就是男女的差别。 ...
十年过去了,UI 框架还停滞在原地……
令我
不解
的是,人们在解决 UI 问题时仍采用同样的权宜之计。 为什么组件的响应性解决方案仍然需要编译阶段?为何我们还在使用非标准的 HTML 语法和一系列自定义指令?为何 UI 的描述仍然是以命令式的方式进行?为...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章