На этом шаге мы рассмотрим реализацию уведомления об изменении документа.
Наконец, вставим в программу вызовы CDocument::SetModifiedFlag() всюду, где возможно изменение
постоянных данных документа. В STUpload данные корректируются в двух местах:
- в функции CSTUploadDoc::OnDataImport(), когда LoadData() возвратила TRUE,
сообщая об успехе импортирования из текстового файла; - в функции CFundDialog::OnSelchangeFundlist(), когда пользователь модифицирует текущую ценную бумагу.
- Модификация функции CSTUploadDoc::OnDataImport().
- Найдите в OnDataImport() такую строку:
LoadData(aFile);
- Замените ее следующим кодом:
if (LoadData(aFile)) { SetModifiedFlag(); UpdateAllViews(NULL); }
- Модификация функции CFundDialog::OnSelchangeFundlist().
Найдите функцию CFundDialog::OnSelchangeFundlist() и добавьте в нее непосредственно перед закрывающей
фигурной скобкой строку:pDoc->SetModifiedFlag();
Текст измененного приложения можно взять здесь (68,3 Кб).
На следующем шаге мы проведем проверку сериализации.