CArchive::SetStoreParams
Use SetStoreParams para armazenar um grande número CObjectde objetos derivados em um arquivo neutro.
void SetStoreParams(
UINT nHashSize = 2053,
UINT nBlockSize = 128
);
Parâmetros
nHashSize
O tamanho de tabela de hash para mapas do ponteiro da interface. Deve ser um número primo.nBlockSize
Especifica a granularidade de alocação de memória para estender os parâmetros. Deve ser uma potência de 2 para melhor desempenho.
Comentários
SetStoreParams permite que você defina o hash o tamanho e o tamanho do bloco de mapa usado para identificar objetos exclusivos durante o processo de serialização.
Você não deve chamar SetStoreParams após todos os objetos são armazenados, ou após MapObject ou WriteObject é chamado.
Exemplo
class CMyLargeDocument : public CDocument
{
public:
virtual void Serialize(CArchive& ar);
};
void CMyLargeDocument::Serialize(CArchive& ar)
{
if (ar.IsStoring())
ar.SetStoreParams(); // use large defaults
else
ar.SetLoadParams();
if (ar.IsStoring())
{
// code for storing CMyLargeDocument
}
else
{
// code for loading CMyLargeDocument
}
}
Requisitos
Cabeçalho: afx.h