
25.04.2012, 12:03
|
Прохожий
|
|
Регистрация: 24.04.2012
Сообщения: 4
Репутация: 10
|
|
Как распределить 2 массива в область памяти
Код:
TSumbolRecord = record
Code : Smallint; // виртуальный код ascii
Unicode : Smallint; // вирт. код unicode
Sumbol : Char; // символ как он есть 0..9, А..Я
Tick : Cardinal; // тик
State : TShiftState; // состояния шифтов
end;
TBuffer = array[0..511] of TSumbolRecord;
...
pntrBuffer : ^TBuffer;
pntrBuffer2 : ^TBuffer;
...
FMemFile := CreateFileMapping($FFFFFFFF, // $FFFFFFFF gets a page memory file
nil, // no security attributes
PAGE_READWRITE, // read/write access
0, // size: high 32-bits
0, // size: low 32-bits
NameMapObject); // name of map object
FMemFile := OpenFileMapping(FILE_MAP_WRITE, False, NameMapObject);
pntrBuffer := MapViewOfFile(FMemFile, FILE_MAP_WRITE, 0, 0, 0);
...
FMemFile := CreateFileMapping($FFFFFFFF, // $FFFFFFFF gets a page memory file
nil, // no security attributes
PAGE_READWRITE, // read/write access
0, // size: high 32-bits
0, // size: low 32-bits
NameMapObject); // name of map object
FMemFile := OpenFileMapping(FILE_MAP_WRITE, False, NameMapObject);
pntrBuffer2 := MapViewOfFile(FMemFile, FILE_MAP_WRITE, 512 * SizeOf(TSumbolRecord), 0, 0);
Оба открытия области памяти в разных местах программы, здесь вместе для наглядности.
|