--- /dev/null
+(* \95K\82¸\8dÅ\8f\89\82Éuses\82·\82é\82±\82Æ\81I *)
+
+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.