Alla fine sono riuscito a realizzare il progetto nel modo più semplice possibile, dopo essermi inutilmente perso a sovrascrivere la classe CDocManager.
Dopo aver aggiunto una classe derivata da CDocument ho aggiunto i gestori dei messaggi standard ID_FILE_NEW e ID_FILE_OPEN nella classe dell'applicazione derivata da CWinApp:
codice:
// CMyApp
BEGIN_MESSAGE_MAP(CMyApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
END_MESSAGE_MAP()
Il framework eseguirà ogni altra operazione in modo automatico, ad esempio scegliendo la voce New dal menu File verrà automaticamente chiamata la funzione CMyDoc :: OnNewDocument(), scegliendo invece la voce Open verrà automaticamente aperta dal framework la OpenFileDialog (probabilmente ad opera di CDocManager :: DoPromtFileName() ) che ritornando con il percorso e nome del file chiama in modo automatico CMyDoc :: Serialize(CArchive& ar)
All'interno di Serialize posso gestire il mio archivio ed i suoi contenuti anche senza che questi siano visualizzati su di una qualche vista.
Ciao a tutti.