delphi7 调用form的问题

2025-05-13 22:20:14
推荐回答(3个)
回答(1):

如果你的tratform是系统自动创建的,就不需要tratform.Create(application),直接ShowModal即可。
如果不是自动创建的,你这个调用还需要加入fff.free,释放资源。

需要说明的是,你的tratform的单元,需要引用一下才能调用。
uses tratformUnit;

fff := tratform.Create(application);//创建对象
fff.ShowModal;//模态显示
fff.free;//释放对象

回答(2):

那你不用ShowModal;用show方法,不说调用一个就是调用一万个都可以,只要你的内在够用.
另外,动态窗口,它的启动时间是有规定的,在工程选项设置中,要把动态创建窗口放到动态创建列表框中.这样程序加载时,就不加载动态创建窗口,也就不占内存.设立动态创建窗口的目的就是节省程序所占内存,还有动态窗口它是自动初始化的,如果你的动态窗口上有文字编辑框一类的组件,它每次启动时,这些框中的字符都是被清空的.而非动态窗口,如果不用代码清除字符,窗口再次被调用时,上次写入字符仍然在上面.
syhxin先生说的很好,"用一条语句实现想要的功能,只要重写Create就行了。但是,我强烈建议你不要那样写,因为这不利于你的代码维护。"
调用动态创建窗口三条基本语句要用上,一是创建;二是模态显示;三是FREE销毁它,你说别人的还可以调用其它窗口,这就不符合建立动态窗口的初衷了,动态窗口就是要办完事就销毁.

回答(3):

tratform应该只是你看到的代码中的一个窗口中一个类,不是Delphi提供的,是人家自己写的。

你应该改成TForm.Create(Application);