我目前正在 DELPHI 2010 中设计一个数据库界面,我设计了几个表单接口,所有这些都封装在一个Delphi项目结构中。 我开始首先设计一个特定的界面表格,结果,当我运行.exe文件时,首先出现一个不相关的表单,而我希望在加载程序时出现一个菜单表单。我的问题是:
我对Pascal有很好的了解,但我不熟悉在这个平台上编写面向对象的解决方案。
答案 0 :(得分:5)
您应确定是否自动创建表单或按需创建表单。 您还应该决定哪一种形式是主要形式。
如果您可以使用同一类的多个打开表单,那么最常见的问题就是,例如,如果您创建了“文件查看器”表单,则可能会有一些对不同文件打开它们的感觉。
对于自动创建的表单:
1.1打开项目源(.dpr文件,项目/查看源菜单)或在“表单”部分中打开“项目”选项。将MenuForm设置为创建列表中的第1个(最顶部)
1.2检查所有其他表单是否具有.visible
属性false
2:根据程序的逻辑,你应该使用Form1.Show或Form1.ShowModal
3:Self.Close或Self.Hide or Self.Visible:= false。更好的第一名:http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Close
如果您使用这些表单的OnClose事件 - 请确保您没有更改关闭的默认caHide操作
对于手动终身受控表单:
1:打开项目源(.dpr文件,Project / View Source菜单)或在Forms部分打开Project options。设置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)
之类的情况下,使用Application for parent。
3:Self.Release http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.Release
或者Self.Close并在OnClose事件中指定caFree
操作 - http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Forms.TCustomForm.OnClose