Member 13798855 Ответов: 0

Свойство Dao в выпуске VB и mfc


всем привет,

я реализовал функциональность vb в c++ у меня есть замена ниже логики в c++ но это дает проблему :

vb код:
For Each loTDef In aoDBUser.TableDefs
          
          Set loProp = Nothing
          On Error Resume Next
          Set loProp = loTDef.Properties("Description")
                    
          If Not loProp Is Nothing Then
               If loProp.Value = TEMP_TABLE Then
               End If
          End If
     Next 

DAO_CHECK(pPrp->get_Item(varName, &pRev));//crashing


Что я уже пробовал:

CString CVReportQuieres::GetCustomProperty(CString psPropertyName)
{
	//
	// OVERVIEW:
	// Get the value for the given Custom Property
	//
	DAOProperties *pColProp = NULL;
	DAOProperty *pProp = NULL;

	CDaoDatabase cDBase;
	cDBase.Open(CV_GetUserDatabasePath(_T("TEST.mdb")));

	CString strDbVer;
	DAOProperties* pPrp = 0;
	DAOProperty* pRev = 0;
	try
	{
		if ( !cDBase.IsOpen() )
			return(_T(""));

		DAO_CHECK(cDBase.m_pDAODatabase->get_Properties(&pPrp));
		if ( pPrp != 0 )
		{
			COleVariant varRevVal;
			COleVariant varName(_T("Description"), VT_BSTRT);

			DAO_CHECK(pPrp->get_Item(varName, &pRev));//crashing going to catch 

			if (pRev != 0)
			{
				DAO_CHECK(pRev->get_Value(&varRevVal));
				pRev->Release();
				pRev = 0;
			}
			pPrp->Release();
			pPrp = 0;

			strDbVer = V_BSTRT(&varRevVal);
		}
	}
	catch (...)
	{

	}

	cDBase.Close();
}

KarstenK

Отличная работа. В чем же проблема? :-O

Maciej Los

Мой виртуальный 5!

Member 13798855

DAO_CHECK(прпз-&ГТ;get_Item(имя_переменной, &ампер;предыдущий));// это сбой здесь

Member 13798855

pRev становится нулевым ..я думаю, что это может быть проблемой

Member 13798855

не могли бы вы дать мне знать Карстенк

CHill60

Карстенк не знает, что вы ответили, потому что вы не использовали ссылку "ответить" рядом с его постом, поэтому он не был уведомлен о ваших сообщениях.

CHill60

Во-первых, поместите некоторый код в этот улов или вообще избавьтесь от try-catch. Вы "глотаете" исключения.
Вы на самом деле не сказали нам, что такое "проблема" - нам нужно знать информацию в exeception.

0 Ответов