Инициализация и очистка документов и представлений
Используйте следующие рекомендации по инициализации и очистке после документов и представлений:
Платформа MFC инициализирует документы и представления; вы инициализируете все данные, которые вы добавляете в них.
Платформа очищается по мере закрытия документов и представлений; Необходимо освободить любую память, выделенную в куче из функций-членов этих документов и представлений.
Примечание.
Помните, что инициализация для всего приложения лучше всего выполняется в переопределении функции-члена InitInstance классаCWinApp
, а очистка для всего приложения лучше всего выполняется в переопределении CWinApp
функции-члена ExitInstance.
Жизненный цикл документа (и его окна фрейма и представлений) в приложении MDI выглядит следующим образом:
Во время динамического создания конструктор документов вызывается.
Для каждого нового документа вызывается объект OnNewDocument или OnOpenDocument.
Пользователь взаимодействует с документом в течение всего времени существования. Обычно это происходит, так как пользователь работает с данными документа с помощью представления, выбора и редактирования данных. Представление передает изменения в документ для хранения и обновления других представлений. В это время как документ, так и представление могут обрабатывать команды.
Платформа вызывает DeleteContents для удаления данных, относящихся к документу.
Вызывается деструктор документа.
В приложении SDI шаг 1 выполняется один раз при создании документа. Затем шаги 2–4 выполняются многократно при каждом открытии нового документа. Новый документ повторно использует существующий объект документа. Наконец, шаг 5 выполняется при завершении приложения.