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




Коллекции и управление памятью.


TCollection может динамически расти от первоначального размера, установленного в Init до максимального размера 16,380 элементов. Максимальный размер коллекции хранится в переменной MaxCollectionSize Turbo Vision. Каждый элемент, который Вы добавляете в коллекцию, требует только 4 байта памяти, поскольку элемент хранится как указатель. Библиотека динамических структур данных не будет полной, если ее не обеспечить средством обнаружения ошибок. Если для инициализиции коллекции недостаточно памяти, возвращается указатель nil. Если при добавлении элемента в TCollection недостаточно памяти, вызывается метод TCollection.Error и генерируется ошибка времени выполнения в куче. Вы можете перекрыть TCollection.Error, чтобы самому выдавать сообщение об ошибке или реализовать механизм восстановления. Вы должны обратить особое внимание на обработку ошибок кучи, поскольку пользователь имеет в программе Turbo Vision гораздо больше возможностей, чем в традиционной программе на Паскале. Если пользователь управляет добавлением объектов в коллекцию (например открывая новые окна на панели экрана), не всегда будет просто предупредить ошибку кучи. Вам может понадобиться предпринять ряд шагов для защиты пользователя от фатальной ошибки времени выполнения либо используя собственные проверки памяти при работе с коллекцией, либо обработчик ошибок времени выполнения.




Содержание  Назад  Вперед