Турбо Паскаль 6.0

Основные потребители.


Функция Valid так же может обрабатывать "основных потребителей", т.е. видимые элементы, которые распределяют память больше, чем размер пула надежности, как например при чтении всего файла в память. Основные потребители должны проверять LowMemory сами вместо того, чтобы ожидать когда они закончат все создание, а после этого позволят ValidView сделать это за них. Если основной потребитель доходит до нехватки памяти в процессе своего создания, он устанавливает свой флаг, который указывает, что встретилась ошибка (как например флаг ErrorEncountered в предыдущем примере) и больше не пытается распределить память. Этот флаг будет проверяться в Valid и видимый элемент будет вызывать Application^.OutOfMemory и возвращать False из вызова Valid. Очевидно, что делать предположение о работе Ваших констракторов - это не лучший вариант, но это единственный способ управлять создание видимых элементов, которые превышают размер пула надежности. Программа FILEVIEW.PAS демонстрирует использование этой техники для реализации надежного просмотра файла.



Содержание раздела