|
|||
Скачать HugeMem 0.1 - Huge Global Memory Blocks for Windows
05.08.1991 {$A+,B-,I-,N-,R-,S-,V-,W+,X+} Unit HugeMem; { HugeMem - manage huge global memory blocks
written by Peter Sawatzki This unit uses two undocumented windows 'functions': __AHShift __AHIncr both are used by Microsoft C and Borland C to handle the HUGE memory model, so i think it's ok to use it } Interface Uses WinTypes, WinProcs; Procedure hRead (Var aFile: File; aHandle: THandle; Size: LongInt); Procedure hWrite (Var aFile: File; aHandle: THandle; Size: LongInt); Procedure hMove (srcHandle, dstHandle: THandle; Size: LongInt); Procedure hFillChar (aHandle: THandle; Size: LongInt; aByte: Byte); Procedure hPutByte (aHandle: THandle; aByte: Byte; aLoc: LongInt); Function hByteAt (aHandle: THandle; aLoc: LongInt): Byte; Procedure pMove (srcPtr, dstPtr: Pointer; Size: LongInt); Function IncPtr (aPtr: Pointer; anOffset: Word): Pointer; Procedure AHIncr; Procedure AHShift; {NOTE: all procedures operate on unlocked memory blocks. Easily one can add procedures to operate on locked memory blocks e.g. on Pointers, but one must be careful not to cross segment boundaries. For example a Move (x^,y^,$8000) will fail, if Word(x)>=$8001 !!!!! } | |||
© 2009–2024 Russian Pascal Developer Network.
Техническая площадка: ISBIZ Хостинг |