Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A ideia básica de persistência é que um objeto deve ser capaz de gravar seu estado atual, indicado pelos valores de suas variáveis membro, no armazenamento persistente. Mais tarde, o objeto pode ser recriado lendo ou "desserializando" o estado do objeto a partir do armazenamento persistente. Um ponto-chave aqui é que o próprio objeto é responsável por ler e escrever seu próprio estado. Assim, para que uma classe seja persistente, ela deve implementar as operações básicas de serialização.
A estrutura fornece uma implementação padrão para salvar documentos em arquivos de disco em resposta aos comandos Salvar e Salvar como no menu Arquivo e para carregar documentos de arquivos de disco em resposta ao comando Abrir. Com muito pouco trabalho, você pode implementar a capacidade de um documento de escrever e ler seus dados de e para um arquivo. A principal coisa que deves fazer é substituir a função membro Serialize na tua classe de documento.
O MFC Application Wizard coloca uma substituição esquelética da CDocument função Serialize de membro na classe de documento que cria para você. Depois de implementar as variáveis de membro do aplicativo, você pode preencher sua Serialize substituição com o código que envia os dados para um "objeto de arquivo" conectado a um arquivo. Um objeto CArchive é semelhante aos objetos de entrada/saída cin e cout da biblioteca iostream C++. No entanto, CArchive escreve e lê o formato binário, não o texto formatado.
O que você quer saber mais sobre
A função do documento na serialização
A estrutura responde automaticamente aos comandos Abrir, Guardar e Guardar como do menu Arquivo chamando a função de membro do documento Serialize, se esta for implementada. Um comando ID_FILE_OPEN, por exemplo, chama uma função de manipulador no objeto do aplicativo. Durante esse processo, o usuário vê e responde à caixa de diálogo Abrir arquivo e a estrutura obtém o nome do arquivo que o usuário escolhe. A estrutura cria um CArchive objeto configurado para carregar dados no documento e passa o arquivo para Serialize. O framework já abriu o arquivo. O código na função membro Serialize do seu documento lê os dados através do arquivo, reconstruindo objetos de dados conforme necessário. Para obter mais informações sobre serialização, consulte o artigo Serialização.
A função dos dados na serialização
Em geral, os dados do tipo classe devem poder ser auto-serializáveis. Ou seja, quando você passa um objeto para um arquivo, o objeto deve saber como se escrever no arquivo e como se ler a partir do arquivo. MFC fornece suporte para tornar classes serializáveis dessa maneira. Se você criar uma classe para definir um tipo de dados e pretender serializar dados desse tipo, projete para serialização.