简单问题,关于窗体继承!(50分)

  • 主题发起人 主题发起人 plf22
  • 开始时间 开始时间
P

plf22

Unregistered / Unconfirmed
GUEST, unregistred user!
我的所有窗体都继承一个窗体,现在我改变了这个窗体里控件的名称,结果其他窗体就报错说找不到原来的控件了,只有一个个去更改名称,难道这些继承的控件不会随着源窗体的改变而一起变吗?想问一下各位,看那个有这方面的经历,给我一个好的解决方法
 
照人的意图你应该使用框架而不要用继承窗体.
 
首先你的继承最好是动态在代码中指定继承为最好,这样就不会出现你的那种错误了,因为如果是在设计期间继承的,也就是在做窗口的时候继承的话,那么在.dfm文件中可能会记载一些东西,多半会出现你说的那种错误。你把继承的操作写在代码中看看?在运行时再继承看还会不会有那种错误?
 
怎么使用框架?
 
继承的代码怎么写?麻烦你告诉我
 
首先说说你是怎么用的,用的是form,还是frame?
 
用的是Form,先建了一个窗体,做好了大概的样式,然后其他窗体用File菜单中的Other里面的窗体,直接继承我做的那个窗体,现在改了这个窗体的控件名,其他窗体就不认了,我继承的窗体比较多,现在麻烦了
 
那你继承过来的form上还加了其它控件咯?这样啊!那如果用代码来实现的话,可能要写的东西还比较多,因为还要包括新加的控件,指定控件的事件等等,一样的比较麻烦。
 
唉,看来是没有答案了,看来Delhi的继承做的不是很完善啊,明明是继承,记应该自始至终都应该跟着继承啊,我决定还是重来一遍,这回对于相同的控件我用复制粘贴算了,因为这个错误,我还被一个菜鸟奚落了一通,因为他没用继承,每个窗体都是独立做的,不爽![:(]
 
有一个非常简单的办法:
对要继承的窗体重新定义个一个类型
如:
type
TMyForm=TForm1,
对继承的窗体Form2可以用
Form2:=TMyForm.Create(Appliaction);
注意事项:这里TMyForm这个名称不要变,而Form1的Name,也就是类名可以随意改变!
 
多人接受答案了。
 
后退
顶部