[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

Jak anulowac serializacje (SDI, MFC)?

azot16

7/19/2007 5:55:00 PM

Witam.

Mam pytanie z zamierzchlych czasów MFC : Jak anulowac serializacje?

Aplikacja SDI MFC, klasa dokumentu, metoda void
CDoc::Serialize(CArchive& ar). User otworzyl plik, nastapilo wywolanie
wspomnianej funkcji, wczytujemy w niej pierwsze 4 bajty i stwierdzamy,
ze to nie jest nasz header, wiec musimy anulowac ladowanie dokumentu.
Najprostsza metoda jest oczywiscie wyjscie z funkcji, czyli zwykly
return. Niestety klasa dokumentu nie wie, ze ladowanie pliku sie nie
powiodlo i zmienia nazwe dokumentu na nazwe pliku, którego ladowanie
anulowalismy.

Jak powiadomic klase dokumentu o tym, ze wczytywanie pliku w funkcji
Serialize() sie nie powiodlo?

2 Answers

Bronek Kozicki

7/21/2007 4:12:00 PM

0

azot16 <azot16@o2.pl> wrote:
> Jak powiadomia klase dokumentu o tym, ?e wczytywanie pliku w funkcji
> Serialize() sie nie powiod3o?

normalnie by by3o wyrzucia wyj?tek i chwycia go w okolicy miejsca (w
kodzie) gdzie zacz?3e? obs3ugiwaa polecenie u?ytkownika. Tylko ?e MFC
nie jest normalne, i niekoniecznie rzucenie wyj?tku odniesie po??dany
skutek.


B.

azot16

7/27/2007 4:16:00 AM

0

> Tylko ze MFC nie jest normalne ..

Na szczescie nie jest az tak zle. Okazalo sie, ze wystarczy przeciazyc
metode OnOpenDocument(...) z klasy dokumentu i zwrócic FALSE.

PS. Troche to trwalo zanim to znalazlem, ale glównie dlatego, ze
pojawila sie inna pilniejsza rzecz do zrobienia.