From 2a723d7e86c8bd16dad012a9d2c34505b0f531c0 Mon Sep 17 00:00:00 2001 From: "C.Ponapalt" Date: Fri, 10 Dec 2004 14:31:54 +0000 Subject: [PATCH] =?utf8?q?=E3=81=82=E3=81=BE=E3=82=8A=E3=81=AB=E3=83=A1?= =?utf8?q?=E3=83=A2=E3=83=AA=E3=81=8C=E3=82=89=E3=81=BF=E3=81=A7=E4=B8=8D?= =?utf8?q?=E5=85=B7=E5=90=88=E3=81=8C=E5=87=BA=E3=82=8B=E3=81=AE=E3=81=A7?= =?utf8?q?=E3=80=81=E3=83=A1=E3=83=A2=E3=83=AA=E3=83=9E=E3=83=8D=E3=83=BC?= =?utf8?q?=E3=82=B8=E3=83=A3=E3=82=92=E3=81=A8=E3=82=8A=E3=81=8B=E3=81=88?= =?utf8?q?=E3=81=A6=E3=81=BF=E3=82=8B=E3=83=86=E3=82=B9=E3=83=88=E3=80=82?= =?utf8?q?=202000/XP/2003=E3=81=A7=E3=81=AF=E9=AB=98=E9=80=9F=E3=81=AB?= =?utf8?q?=E3=81=AA=E3=82=8A=E3=80=819x/NT4=E3=81=A7=E3=81=AF=E7=8F=BE?= =?utf8?q?=E7=8A=B6=E3=82=88=E3=82=8A=E9=81=85=E3=81=8F=E3=81=AA=E3=82=8A?= =?utf8?q?=E3=81=BE=E3=81=99=E3=81=8C=E3=80=81=20=E3=81=93=E3=82=8C?= =?utf8?q?=E3=81=A7=E5=AE=89=E5=AE=9A=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?utf8?q?=E3=81=AA=E3=82=89=E8=89=AF=E3=81=84=E3=81=8B=E3=81=AA=E3=81=81?= =?utf8?q?=E3=81=A8=E6=80=9D=E3=81=84=E3=81=BE=E3=81=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- bottleclient/SimpleMemoryManager.pas | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 bottleclient/SimpleMemoryManager.pas diff --git a/bottleclient/SimpleMemoryManager.pas b/bottleclient/SimpleMemoryManager.pas new file mode 100644 index 0000000..3e4d926 --- /dev/null +++ b/bottleclient/SimpleMemoryManager.pas @@ -0,0 +1,46 @@ +(* •K‚¸Å‰‚Éuses‚·‚邱‚ƁI *) + +unit SimpleMemoryManager; + +interface + +uses Windows, SysUtils; + +implementation + +var + hProcessHeap: Cardinal; + OldMemMgr: TMemoryManager; + +function NewGetMem(Size: Integer): Pointer; +begin + Result := HeapAlloc(hProcessHeap,0,Size); +end; + +function NewFreeMem(P: Pointer): Integer; +begin + if HeapFree(hProcessHeap,0,P) then Result := 0 + else Result := 1; +end; + +function NewReallocMem(P: Pointer; Size: Integer): Pointer; +begin + Result := HeapRealloc(hProcessHeap,0,P,Size); +end; + +const + NewMemMgr: TMemoryManager = ( + GetMem: NewGetMem; + FreeMem: NewFreeMem; + ReallocMem: NewReallocMem); + +initialization + hProcessHeap := GetProcessHeap(); + + GetMemoryManager(OldMemMgr); + SetMemoryManager(NewMemMgr); + +finalization + SetMemoryManager(OldMemMgr); + +end. -- 2.11.0