在同一个项目中链接DELPHI中的不同表单

时间:2013-01-10 10:53:12

标签: delphi oop interface pascal

我目前正在 DELPHI 2010 中设计一个数据库界面,我设计了几个表单接口,所有这些都封装在一个Delphi项目结构中。 我开始首先设计一个特定的界面表格,结果,当我运行.exe文件时,首先出现一个不相关的表单,而我希望在加载程序时出现一个菜单表单。我的问题是:

  1. 如果我的编译项目的.exe和.exe运行时,如何让我的菜单表单首先打开?
  2. 我需要使用哪些功能对此菜单上的导航按钮进行编程才能打开新表单?
  3. 我应该在每个表单的“退出”按钮上使用哪个功能来单独关闭表单,而不关闭整个程序?
  4. 我对Pascal有很好的了解,但我不熟悉在这个平台上编写面向对象的解决方案。

1 个答案:

答案 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.Showsome-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