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


Другие ошибки.


Конечно не все ошибки связаны с памятью. Например видимый элемент может читать дисковый файл, а файл может быть не найден или разрушен. Этот тип ошибки должен быть указан пользователю. К счастью ValidView может использовать встроенную обработку ошибок, не связанных с памятью, вызывая метод Valid видимого элемента. TView.Valid возвращает True по умолчанию. TGroup.Valid возвращает True только если все подэлементы, принадлежащие группе, возвращают True из их функций Valid. Другими словами, группа правильна, если все подэлементы этой группы правильны. Когда Вы создаете видимый элемент, который может встретить ошибку, не связанную с памятью, Вам необходимо перекрыть Valid для этого видимого элемента так, чтобы он возвращал True только при успешном создании. Valid может использоваться для указания, что видимый элемент не должен использоваться по какой-то причине; например, если видимый элемент не может найти файл. Заметим, что то, ЧТО Valid проверяет и КАК он проверяет зависит от Вас. Типичный метод Valid имеет вид:

function TMyView.Valid(Command: Word): Boolean; begin Valid := True; if Command = cmValid then begin if ErrorEncountered then begin ReportError; Valid := False; end; end; end;

Когда создается видимый элемент, метод Valid должен быть вызван с параметром Command, равным cmValid для проверок любых ошибок, не связанных с памятью, возникших при создании видимого элемента. ValidView(X) вызывает Х.Valid(cmValid) автоматически, а также проверяет пул надежности, так что вызов ValidView перед использованием любого нового видимого элемента - это хорошая идея. Valid так же вызывается при завершении модального состояния с параметром Command в команде, завершающей модальное состояние. (См. главу 4.) Это дает Вам возможность перехватывать такие условия, как несохраненный текст в окне редактора до завершения Вашей программы. ErrorEnсountered может быть и обычно бывает булевской переменной экземпляра объектного типа, который указан в вызове Init.




- Начало -  - Назад -  - Вперед -



Книжный магазин