目前,我正在Delphi2010中设计一个数据库接口,我已经设计了几个表单接口,它们都封装在一个Delphi项目结构中。我首先开始设计一个特定的接口表单,因此,在运行.exe文件时,首先会出现一个不相关的表单,而当程序加载时,我希望出现一个菜单表单。我的问题是:
我对Pascal有很好的了解,但我对在这个平台上编写面向对象的解决方案还很陌生。
发布于 2013-01-10 11:01:53
您应该确定您的表单是自动创建的还是按需创建的。您还应该决定哪一种形式将是主要形式。
角落的问题将是,如果您可以有几个打开形式的同一个类,例如,如果您做了“文件查看器”形式,可能有意义的有几个打开了不同的文件。
用于自动创建表单的:
1.1在窗体部分打开项目源代码(.dpr文件、项目/查看源菜单)或打开项目选项。将MenuForm设置为创建列表中的第一个(最顶层)。
1.2检查所有其他窗体是否有其.visible属性false
2:根据程序的逻辑,您应该使用Form1.Show或Form1.ShowModal
3: Self.Close、Self.Hide或Self.Visible := false。更好的第一名:http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Close
如果您使用这些窗体的OnClose事件-确保没有更改关闭的默认caHide操作
用于手动生命周期控制窗体的:
1:在窗体部分打开项目源代码(.dpr文件、项目/查看源菜单)或打开项目选项。设置MenuForm,这是唯一创建的。
2.1。some-temporary-variable := TFormClass.Create(Application);
2.2。然后,您可以调整some-temporary-variable的一些属性,比如文件名来打开,或者一些数据源之类的。
2.3。然后你做some-temporary-variable.Show或some-temporary-variable.ShowModal。
注意:使用ShowModal可能会冻结您的应用程序,在像TFormClass.Create(SomeAnotherForm)__这样的情况下,请将应用程序用于父应用程序。
3: Self.Release http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Release
或Self.Close并在OnClose事件- http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.OnClose中指定caFree操作。
https://stackoverflow.com/questions/14256218
复制相似问题