delphi的一些常用操作技巧,持续更新中。。。
2014-06-28 16:20
253 查看
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的所有单元在编译该单元时必须已编译而implementation中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的所有单元在编译该单元时必须已编译而implementation中uses的单元
没这个必要。所以你自己编写的程序中的单元引用都放在implementation中,如果你在
unit1中的interface中引用unit2,而在unit2中的interface中引用unit1,编译程序在编译
unit1时发现unit2还没有编译,就编译unit2,而unit2又引用unit1,编译程序就会报循环
引用的错误,而在implenentation中引用就没问题。
相关文章推荐
- linux下一些常用操作的命令及快捷键(持续更新中。。。。。。。。。。)
- ABAP report常用的一些语句用法(包括字符串操作,变量动态操作)(持续更新)
- Python常用的一些操作(持续更新中......)
- 平时常用的Visual Studio操作技巧,持续更新中……
- java 关于使用java1.8的localDateTime日期操作的基本使用以及一些使用技巧 持续更新...
- Hadoop的一些常用工具和技巧 【持续更新】
- sqlserver常用的一些操作(持续更新)
- 工作笔记(五):常用jquery函数以及操作,持续更新..
- 一些数据库操作的常用技巧(陆续有加)
- Bash常用的一些操作技巧
- VS 常用的一些技巧和问题集锦【不断的更新中】
- STL中常用的一些算法函数[持续更新]
- 星际里的一些常用操作技巧
- MySql常用命令及sql 技巧 (持续更新)
- vb 数据库 常用技巧 持续更新
- ORACLE 常用技巧(持续更新ing)
- 一些VC编程中的技巧[持续更新]
- Ubuntu下一些实用操作(持续更新中...)
- vs编译的一些技巧(持续更新中)
- vim 多文件操作常用命令[持续更新]