在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
2012-02-22 12:421 内存分配常见函数 2 GetMem和FreeMem、GetMemory和FreeMemory 3 New和Dispose TRecord = record Text: string; Value: Integer; end; PRecord = ^TRecord; 如果用GetMem和FreeMem、GetMemory和FreeMemory来释放,会造成Text的内存没有释放,造成内存泄漏。如果用Dispose来释放指针,要加上定义信息,否则造成内存泄漏,正确写法Dispose(PRecord(Point))。 4 StrAlloc和StrDispose 5 AllocMem function SystemPath: string; begin SetLength(Result, GetSystemDirectory(nil, 0)); GetSystemDirectory(PChar(Result), Length(Result)); Result := PChar(Result); end; function SystemPath: string; begin SetLength(Result, GetSystemDirectory(nil, 0)); GetSystemDirectory(PChar(Result), Length(Result)); Result := PChar(Result); end; var SystemPath: PChar; Len: Cardinal; begin Len := GetSystemDirectory(nil, 0); SystemPath := GetMemory(Len); GetSystemDirectory(SystemPath, Len) FreeMem(SystemPath); end; 6 SysGetMem和SysFreeMem |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论