
内存
seagull327
若大的世界
展开
-
ClearMemory
<br />procedure ClearMemory;begin if Win32Platform = VER_PLATFORM_WIN32_NT then begin SetProcessWorkingSetS原创 2011-02-08 19:52:00 · 766 阅读 · 0 评论 -
动态数组指针应用
Type TMyArr = array of array of array of Integer; Pint = ^TMyArr;var PArr: Pint; i, j, k, ic, jc, kc: Integer;begin ic := 2; jc := 3; kc := 4; New(PArr); SetLength(PArr^, ic, jc, k原创 2013-12-06 20:01:16 · 1017 阅读 · 0 评论 -
数组赋值
//var a1,a2:array[0..5]of integer; i:integer;begin for i:=Low(a1) to High(a1) do a1[i]:=i; Move(a1,a2,SizeOf(a1)); a1[3]:=255; //CopyMemory(@a2[0], @a1[0], Length(a1));原创 2013-10-05 23:46:51 · 672 阅读 · 0 评论 -
Delphi中Create(nil),Create(self),Create(Application)区别
Create(nil);//需要自己释放 Create(Self);//当Self释放时自动触发释放Create(Application);//当Application释放时自动释放Create(nil);//这种方式创建的对象要自己手工进行FREE才会回收内存,其他很多内存泄漏就是忘了手工释放内存Create(Self);//由self对象负责释放创建的对象,只要self没有释放掉,转载 2013-02-19 14:52:09 · 5496 阅读 · 0 评论 -
FastMM的安装方法
1> FastMM是开源项目, 从 http://sourceforge.net/projects/fastmm 下载最新版2> 文件夹Replacement BorlndMM DLL/Precompiled/for Delphi IDE/Performance/BorlndMM.dll,替换掉Delphi/Bin下的相应文件就可以完成对IDE的提速3> Enviroment->Lib转载 2013-02-28 20:05:08 · 2018 阅读 · 0 评论 -
CreateThread多参数传递
Student = record Name: PChar; age: integer; end; pStudent=^Student;var h: THandle;procedure aa(cc: pStudent); stdcall;begin Form1.Memo1.Lines.Add(cc.Name); Form1.Memo1.Lines.Add(原创 2013-02-25 19:44:21 · 1781 阅读 · 1 评论 -
判断内存流中的图片格式
判断内存流中的图片格式代码如下://从内存流中判断图片格式procedure TForm1.BitBtn4Click(Sender: TObject);var MyImage:TMemoryStream; Buffer:Word; i:integer;begin if OpenDialog1.Execute then begin My转载 2012-10-10 00:46:57 · 1022 阅读 · 0 评论 -
关于资源保护与内存释放
1.Tstrings 必须手工释放 Free (TstringList 在堆里分配内存,没有拥有者,所以没有帮她释放的类) 2.关于form释放问题 要彻底释放窗体,光close是不够的。 一般需在onclose事件中写Action:=cafree 并在 FormDestroy事件中写from:=nil; 方法1: t转载 2012-09-15 13:22:16 · 939 阅读 · 0 评论 -
内存分配
1.内存分为三个区域:全局变量区,栈区,堆区全局变量区:专门存放全局变量栈区:分配在栈上的变量可被栈管理器自动释放堆区:堆上的变量内存必须人工去释放2.指针类变量指针类的变量在声明为全局变量时被初始化为空值,在声明为局部变量时则初始化为一个随机数,对于指针类型一般要使用一些代码来完成内存分配3.动态分配内存的函数和过程procedure GetMem(Var P:转载 2012-06-15 12:32:28 · 607 阅读 · 0 评论 -
ClearMemory
procedure ClearMemory;begin if Win32Platform = VER_PLATFORM_WIN32_NT then begin SetProcessWorkingSetSize(GetCurrentProcess,原创 2011-08-07 13:29:09 · 610 阅读 · 0 评论 -
内存比较函数 - CompareMem(文件、数组等比较)
所属单元:SysUtils函数功能:快速内存比较函数,可对两个文件比较、数组进行比较。据测试速度比一般算法要高60~110%。一、文件的比较你是否遇到过比较两个任意后缀名文件内容是否相同的问题?(TFileStream其他类可以方便的操作这些文件,但如果说原创 2011-07-30 19:33:06 · 5293 阅读 · 0 评论 -
New,Getmem,ReallocMem联系与区别
New,Getmem,ReallocMem联系与区别procedure New(var P: Pointer); {为一个指针变量分配内存,会自动计算指针所指数据结构需要空的空间大小}procedure GetMem(var P: Pointer; Size: Integer转载 2011-07-22 12:52:27 · 899 阅读 · 0 评论 -
Free
1、在方法中创建,在方法的收尾时.Free。2、在单元中创建,在单元的释放时.Free。二、Delphi有优化代码的功能,一般情况下,即使你不写Free。在程序结束时,它会释放的。三、写Free是程序员的一个良好的习惯。如果你的程序不是正常退出,就会造成内存被占用。四、对象的创建,如果寄宿在Form(父控件)上,Form释放时,它同时被释放,特别是无寄宿关系(父控件)的,一定要在不转载 2015-04-09 01:00:03 · 770 阅读 · 0 评论