Repository URL to install this package:
|
Version:
1.6 ▾
|
unit LazDbgLog;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
function MemSizeString(const s: string): PtrUInt;
function MemSizeFPList(const List: TFPList): PtrUInt;
function GetStringRefCount(const s: string): PtrInt;
implementation
function MemSizeString(const s: string): PtrUInt;
begin
Result:=length(s);
if s<>'' then
inc(Result,SizeOf(Pointer)*4);
end;
function MemSizeFPList(const List: TFPList): PtrUInt;
begin
if List=nil then exit(0);
Result:=PtrUInt(List.InstanceSize)
+PtrUInt(List.Capacity)*SizeOf(Pointer);
end;
function GetStringRefCount(const s: string): PtrInt;
begin
if s='' then
Result:=-1
else
Result:=PPtrInt(s)[-2];
end;
end.