摘要: Windows下有一个函数AnimateWindow,在Delphi自带的Win32 API Help中是找不到的.你可以在Delphi的编辑器中输入windows.等待代码向导出来,继续输入AnimateWindow就能看到确实是存在的Win32 API,它的功能是在显示或者关闭窗体的时候产生动画,如从左向右开屏,从中心向周围开屏等.语法:function AnimateWindow(hWnd: HWND; dwTime: DWORD; dwFlags: DWORD): BOOL; stdcall;参数:hWnd : 想要显示动画窗体的句柄dwTime : 动画时间数,单位毫秒dwFlags 阅读全文
posted @ 2013-12-24 17:10 倾天 阅读(356) 评论(0) 推荐(0)
摘要: 在了解多线程之前我们先了解一下进程和线程的关系一个程序至少有一个主进程,一个进程至少有一个线程。为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考:http://www.cr173.com/html/16747_1.html主线程又程为UI线程。进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费 阅读全文
posted @ 2013-12-24 14:14 倾天 阅读(2305) 评论(1) 推荐(1)
摘要: 根据日常编程经验,得出一些Delphi中关于资源释放的体会。假如有对象Obj为TObject类型:1) Obj.Free直接释放资源后,调用OnDestroy事件,但是没有将Obj指针值置为Nil。2) Obj.Release 等待资源不再使用后释放资源,同样不修改Obj指针为Nil,所以在OnDestroy中最好使用Release进行资源释放操作。3) 局部变量释放资源时,可以考虑用FreeAndNil()释放资源,这样效率会高些,能提高内存的利用率。4) 单纯通过Assigned(Obj)判断对象是否已经创建是不够的,因为如果对象通过Free/Release进行资源释放的话,Obj指向的是 阅读全文
posted @ 2013-12-24 11:13 倾天 阅读(364) 评论(0) 推荐(0)