在你创建一个窗体之前,可以首先检查一下此窗体是否创建了,如果没有创建,先创建,然后在显示。例如:
if (Form2 = nil) then
Form2 := TForm2.Create(self);
Form2.Show;
当然最好在窗口的关闭事件里包含
Action := caFree;
Form2 := nil;包含另外一个单元时按Alt + F11;
if (Form2 = nil) then
Form2 := TForm2.Create(self);
Form2.Show;
当然最好在窗口的关闭事件里包含
Action := caFree;
Form2 := nil;包含另外一个单元时按Alt + F11;
解决方案 »
- 请问如何 控制 其它程序 窗体 放到 最前面 ? 急!
- 这种方法创建的COM是否不支持后期绑定(CreateOleObject)
- 用FastReport制作报表,如果想控制MEMO的内容和表格线的长短,应在哪里写代码?
- dbgrideh问题:dbgrideh使用列统计功能,ado表使用批处理更新,在对ado表进行取消时,
- 在线等待===> 在哪儿设置弹出子菜单啊
- 十万火急!!!用ADO如何连接Sybase数据库?
- TBDEClientDataSet问题请教!!!答者有分!!!!
- Delphi的文件版本管理不好。
- 怎样得到一个工程中的所有已创建的窗口,并根据需要显示出来。
- 数据库求教!!!!
- sender参数的使用问题。
- 那么如何为不同操作员建立功能权限的数据库呢(ACTIONLIST)?可否有例子
在要form2(unit2)中调用form1(unit1),则要在form2中use unit1.
但 use 语句不要写在 interface 语句后,写在implementation语句后就不会循环调用了。
我是在form1的create中创建的form2,然后在form2中使用form1的table1老是提示
没有声明
在form2中使用form1的table1,除了要在form2中use form1,
在引用table1时还要指明form1.table1。
只要你想用的话,它(指IDE)就会询问你是否增加对另一窗体的引用呀!!
至于循环调用,去看看delphi自带的帮助呀,里面提到了几种循环调用的关系。
单元循环引用时,至少有一个uses子句在implementation部分。
不能两个同时在interface部分的,这样是要出错的,好象这个规定书上都讲的很清楚的啊!