Разное
Облака / Clouds
 
            
      The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
 
            
      time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
        Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.        
        
Навигация
Вопросы
    Delphi - Справочник: GetMem
    
    
    | 
     GetMem
     | 
| 
     function GetMem ( var StoragePointer : Pointer; StorageSize : Integer ) ; | 
| 
     Функция (Unit System)
     | 
| 
    Получает указанное число байтов памяти.
     | 
| 
    Описание:
     | 
| 
    Процедура GetMem пытается получить указанные в StorageSize байт памяти, сохраняя указатель на память в StoragePointer. Если при распределении произошли сбои, то вызывается исключение EOutOfMemory. Память не всегда инициализируется. | 
| 
    Пример кода: Получение памяти для 3-х записей, и использование этой памяти
     | 
type TRecord = Record name : string[10]; age : Byte; end; var recPointer : ^TRecord; begin // Распределение памяти для трех записей // Обратить внимание: для этого лучше использовать New // Он здесь используется только в целей иллюстрации GetMem(recPointer, 3 * SizeOf(TRecord)); // Заполнение этих 3-х записей значениями recPointer.name := 'Brian'; recPointer.age := 23; Inc(recPointer); recPointer.name := 'Jim'; recPointer.age := 55; Inc(recPointer); recPointer.name := 'Sally'; recPointer.age := 38; // Теперь показываем эти значения Dec(recPointer, 2); ShowMessageFmt('%s - %d',[recPointer.name, recPointer.age]); Inc(recPointer); ShowMessageFmt('%s - %d',[recPointer.name, recPointer.age]); Inc(recPointer); ShowMessageFmt('%s - %d',[recPointer.name, recPointer.age]); end;
| 
    Результат:
     | 
| 
    Brian - 23 Jim - 55 Sally - 38 | 
| 
    Примечание:
     | 
| 
    Процедура GetMem потоко безопасна, пока IsMultiThread истинено. Для распределения памяти для записей лучше использовать New - пример используется для иллюстрации GetMem и манипуляции указателем. | 

