我设置的公共窗体继承为什么有问题?(100分)

  • 主题发起人 主题发起人 filter
  • 开始时间 开始时间
F

filter

Unregistered / Unconfirmed
GUEST, unregistred user!
由于要实现win98和win2000下编译后的程序显示模式一致。所以设置了一个公共继承窗口,放置在file-new-forms中。
如何对‘公共继承窗口’修改,使凡是继承该的窗口的属性共变,难道非要在放置进file-new-forms之前对‘公共继承窗口’将全部属性写好吗?
我首先创建主form,在new只有copy项可选,然后又想新建一个子窗口,此时选的‘公共继承窗口’的iherit项,却继承出了两个窗口,分别是form1和form2,为什么?
 
你要清楚两次不同的结果产生的原因。
比如,你已经创建了一个FORM,作为摸板,你以后的窗体要基于这个来做,那么以后的FORM2等
全部要用INHERITED,继承出来。
如果你用的是COPY ,这个和你单独新创建的APPLICATION效果是相当的,你再改动基本窗体,这个是不会跟这动的。
因为二者不会存在联系。
只有继承的,才会有连带关系。
还有,基本窗体,不用把所有都设置全,只要最基本的,然后,在新继承出来的窗体里,再对其做细化设计。
继承出来的窗体,不可以删除基本窗体里存在的组件,只可以更改和添加。
 
谢谢,但我想问的是如何改动已放置在file-new-forms中的标准继承窗体。
还有,为什么会出现我继承一个窗体,却弹出两个form情况,欲删其中之一时,报
Module 'Unit1' hs descendant forms and cannot be removed from the project
 
这样,新建一个应用APP1,创建祖先Form1
选择new-app1-form1
就可创建Form1的子窗口
 
估计的你的工程已经包含了form1,form2,你点那个-号看看有没有两个单元,
有的话删掉一个!
 
改动已放置在file-new-forms中的标准继承窗体,找到你以前写的原代码,重新改就可以拉。
要不然,你复制出来一份做为新的你需要的摸版,重新做个摸版的改动,然后再加进去。
 
我发现状态如下:
在选用iherit继承窗体时,弹出的两个form中一个是标准继承窗体from1,
代码为TForm1 = class(TForm)
另一个是继承它的窗体
代码为TForm2 = class(TForm1)
但我不需要form1,只要它好好的在new-form中就行了。不知道能不能做到,否则只好new-form-copy了,
但这样做在标准继承窗体如有变化,继承它的窗体就不能随之改变。
你们如何做的继承呢?
 
我们做继承,一般不是把一个FORM单独做成摸版,再继承。
在一个工程项目中,建立基础窗体,然后,添加新窗体的时候,点NEW,选PROJECT里面的基础窗体。
因为创建了项目,本身已经建立的窗体,都可以做为摸版被继承。
这样做的时候,没有出现你说的那种现象。
你把一个独立于任何项目的窗体做成了摸版,以后就只能先COPY出来一份,作为项目里的文件,而以后的继承,
都是基于这个COPY以后的。这个就是为什么你出现两个的原因。
 
886,你说的是将基础窗体放进new-project中作为模板吗?结果一样的
请看下我的操作:首先,newapplication,此时为form1和unit1,设置公用属性,然后存盘。
mouse右键选add to repository,选择page为project(先为放在form).title为‘基础’
再new-project-‘基础’,结果出来一致
关键是你的贴子中好象劝我不要将form做为模板,要做模板也要放在project.但‘添加新
窗体的时候,点NEW,选PROJECT里面的基础窗体’这句话又要我放在模板上。
 
mouse右键选add to repository,选择page为project你要是这样做了,是完全没有必要的。
“首先,newapplication,此时为form1和unit1,设置公用属性,然后存盘。”这个FORM1就是你要
做为你要继承的基。假设你这个工程名是project1,那么,你要继续在这个工程里做其他的FORM。又想
让其他的继承FORM1,你点NEW ITEMS快捷按钮,这个时候,去找project1这一页,这个里面就是你当前
工程包括的所有表单,然后选中FORM1,继承就可以拉。如果你想继承别的窗体,就点别的微可以拉。
 
这个时候,你要更改你要做的基,其他的继承出来的都会做相应改动。
 
接受答案了.
 
后退
顶部