Шаг 12 - Функция AfxDaoInit()

 
void AfxDaoInit( );
throw( CDaoException );

Эта функция производит инициализацию DAO. В большинстве случаев нет необходимости вызывать эту функцию самому это сделает первый инициализируемый объект DAO. Если производится инициализация, то должна производиться и деиницализация. Это делает функция:

void AfxDaoTerm( );

Вызываться она должна после того, как все объекты DAO будут разрушены. В DLL, Вы должны вызвать AfxDaoTerm() прежде, чем вызовется ExitInstance().

Пример правильной инициализации и деинициализации в DLL:

SomeExportedInitializeDAO( .. )
{
	#ifndef _AFXDLL
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	#endif
	
	m_pDB = new CDaoDatabase;
	m_pDB->Open(..);
} 

SomeExportedDestroyObjectsAndTerminateDAO( .. )
{
	#ifndef _AFXDLL
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	#endif

	m_pDB->Close();
	delete m_pDB;
	AfxDaoTerm();
} 

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.