delphi的一些操作技巧
2017-06-30 14:55
302 查看
1、设置控件堆叠显示的层次。
右键send to back,右键bring to front。
2、窗体关闭时释放内存对象。
对于动态生成的窗体,一旦不再使用,一定要手动释放资源,不然你会看到程序占有内存疯狂上涨,然后就被任务管理器干掉了~手动释放主要有两种方式,第一种是显示调用Form.Free这个方法。对于上面用的例子Form2来说:
至于为什么要将变量Form2赋值为nil,是为了防止此后的代码通过Form2变量访问已经被释放的TForm2实例。
另一种方法是在窗体的OnClose事件中将变量Action设置为caFree。
这两种方法没有什么本质区别,可以根据实际情况来使用,但是一定不要忘记在释放资源后将变量指向空,不然很容易出现非法访问的情况。实际上在TForm2的FormClose中写Form2 := nil 是无用的,应该写在创建Form2的单元中,因为这两个Form2变量是不同的,TForm2所在单元的Form2变量是一个私有变量,别人是访问不到的,别人可以访问到的,也就是可能触发非法访问的是在TForm2所在单元外的Form2变量(有点绕口令了,不知道大家看懂没有……)。
3、delphi编译提示 circular unit reference
解决方法: 在implementation后面uses ,不要在interface 后面 uses
interface 中的uses和implementation 的uses不同在于:
interface中uses的所有单元在编译该单元时必须已编译而implement
7f68
ation中uses的单元
没这个必要。所以你自己编写的程序中的单元引用都放在implementation中,如果你在
unit1中的interface中引用unit2,而在unit2中的interface中引用unit1,编译程序在编译
unit1时发现unit2还没有编译,就编译unit2,而unit2又引用unit1,编译程序就会报循环
引用的错误,而在implenentation中引用就没问题。
右键send to back,右键bring to front。
2、窗体关闭时释放内存对象。
对于动态生成的窗体,一旦不再使用,一定要手动释放资源,不然你会看到程序占有内存疯狂上涨,然后就被任务管理器干掉了~手动释放主要有两种方式,第一种是显示调用Form.Free这个方法。对于上面用的例子Form2来说:
Form2.Free; Form2 := nil;
至于为什么要将变量Form2赋值为nil,是为了防止此后的代码通过Form2变量访问已经被释放的TForm2实例。
另一种方法是在窗体的OnClose事件中将变量Action设置为caFree。
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; // TCloseAction = (caNone, caHide, caFree, caMinimize); Form2 := nil; end;
这两种方法没有什么本质区别,可以根据实际情况来使用,但是一定不要忘记在释放资源后将变量指向空,不然很容易出现非法访问的情况。实际上在TForm2的FormClose中写Form2 := nil 是无用的,应该写在创建Form2的单元中,因为这两个Form2变量是不同的,TForm2所在单元的Form2变量是一个私有变量,别人是访问不到的,别人可以访问到的,也就是可能触发非法访问的是在TForm2所在单元外的Form2变量(有点绕口令了,不知道大家看懂没有……)。
3、delphi编译提示 circular unit reference
解决方法: 在implementation后面uses ,不要在interface 后面 uses
interface 中的uses和implementation 的uses不同在于:
interface中uses的所有单元在编译该单元时必须已编译而implement
7f68
ation中uses的单元
没这个必要。所以你自己编写的程序中的单元引用都放在implementation中,如果你在
unit1中的interface中引用unit2,而在unit2中的interface中引用unit1,编译程序在编译
unit1时发现unit2还没有编译,就编译unit2,而unit2又引用unit1,编译程序就会报循环
引用的错误,而在implenentation中引用就没问题。
相关文章推荐
- delphi的一些常用操作技巧,持续更新中。。。
- Mac操作积累的一些技巧-陆续增加中
- Delphi--TStrings的一些技巧
- 技巧:在Delphi中轻松操作注册表轻松操作注册表
- 使用Visual Basic 6.0开发程序的一些方法技巧收集之二:进程操作
- 收集的一些Redis操作技巧教程
- 电脑人必须要掌握的一些非手工操作技巧
- Delphi总结使用TStrings的一些技巧
- Oracle EBS的一些操作技巧
- Delphi文件操作所涉及的一些函数
- Delphi文件操作所涉及的一些函数
- Delphi快速操作技巧
- NIOS2-IDE环境下的一些操作技巧
- [转贴]一些ADO.NET操作技巧
- 人人都应该掌握的一些电脑操作技巧
- Delphi操作XML的技巧
- 高效操作Bash的一些技巧.
- Delphi文件操作所涉及的一些函数
- 用SQLyog 可视化界面 操作MySQL数据库 时 技巧 心得 和 一些简单操作
- 一些JS的操作技巧