Новые книги

Вы на заслуженном отдыхе… сосредоточенно копите деньги на подарки внукам, ищете способы разнообразить свою жизнь и всеми силами стараетесь заработать дополнительную копеечку к мизерной пенсии. А вокруг вас продолжает крутиться динамичный молодёжный мир Интернета, который кажется далёким и непонятным. Но Любовь Левина уверена, что заработать на пенсии можно не только вязанием носочков – есть много других не менее успешных, а главное – современных методов работы (и не таких страшных, как кажется на первый взгляд)!

Попробуйте под чутким руководством Любови Левиной создать свой маленький бизнес в Интернете – и узнайте, на что вы способны!

Попробуйте – и у вас обязательно получится!
В основе любой бизнес-модели лежит ценностное предложение, описывающее преимущества, которые ваши товары и услуги дают потребителю. Новый инструмент, разработанный авторами этой книги, – шаблон ценностного предложения, позволит рассмотреть все аспекты сложного процесса разработки и тестирования новых продуктов и прийти к такому варианту предложения, который выведет ваш бизнес в лидеры рынка. В книге приводится огромное число примеров разработки и анализа ценностных предложений от лучших мировых компаний, что делает ее предельно практичным инструментом для бизнеса из любой сферы. Книга адресована предпринимателям и руководителям, которые хотят держать руку на пульсе потребительского рынка и чутко реагировать на его изменения.

Процедуры работы с динамической памятью

Процедуры работы с динамической памятью

Модуль System

Procedure Dispose(var P: Pointer);

Освобождает память, распределенную для динамической переменной.

После вызова Dispose значение P не определено. При включенной директиве {$I+}, вы можете использовать исключительные ситуации, чтобы обработать эту ошибку.

 

Procedure FreeMem(var P: Pointer [; Size: Integer]);

Освобождает память, выделенную динамической переменной данного размера.

P - переменная любого типа-указателя, предварительно созданная процедурой GetMem.

Size определяет размер динамической переменной в байтах. Для корректной работы этой процедуры, Size должно быть точно равно числу байтов, предварительно распределенных для этой переменной процедурой GetMem.

FreeMem уничтожает переменную P и возвращает память «куче». Если P не указывает на память в «куче», возникает ошибка времени выполнения.

После вызова FreeMem, значение P не определено, и происходит ошибка, если Вы впоследствии ссылаетесь на P^. Вы можете использовать исключительные ситуации, чтобы обработать эту ошибку.

 

Procedure GetMem(var P: Pointer; Size: Integer);

GetMem создает динамическую переменную определенного размера и помещает адрес блока в переменную Р.

P - переменная любого типа-указателя. Size - выражение, определяющее размер в байтах динамической переменной. Вы должны ссылаться на созданную переменную как P^.

 

Procedure New(var P: Pointer);

Создает новую динамическую переменную и помещает ее адрес в переменную Р. P - переменная любого типа-указателя. Размер распределенного блока памяти равен размеру типа, на который указывает P. Если памяти недостаточно, чтобы распределить динамическую переменную, возникает исключительная ситуация EOutOfMemory.

При завершении программы, все динамические переменные, созданные процедурами New или GetMem, должны быть уничтожены соответственно процедурами Dispose или FreeMem.