MS VC++ help...
1 отговора
69 прегледа
MS VC++ help...
Трябва да привържа няколко диалог бокса в един изглед директно с полета от различни бази данни. Когато направя декларация от типа :
void CAppView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
DDX_FieldText(pDX, IDC_EDIT1, m_pSet1->m_NUMA, m_pSet1);
DDX_FieldText(pDX, IDC_EDIT2, m_pSet2->m_NUMB, m_pSet2);
DDX_FieldText(pDX, IDC_EDIT3, m_pSet3->m_SUMA, m_pSet3);
}
// CDb1Set* m_pSet1;
// CDb2Set* m_pSet2;
// CDb2Set* m_pSet2;
програмата се компилира и върви, но когато извикам ClassWizard, той ми дава съобщение:
“data mappings are not valid m_pSet2->m_NUMB, m_pSet3->m_SUMA”
Това вероятно е поради факта, че може да се специфицира “only one foreign object per class”, в случая foreign class: CDb1Set - foreign variable: m_pSet1.
Дайте някакви идеи, как може да се реши този проблем. Предварително благодаря!
void CAppView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
DDX_FieldText(pDX, IDC_EDIT1, m_pSet1->m_NUMA, m_pSet1);
DDX_FieldText(pDX, IDC_EDIT2, m_pSet2->m_NUMB, m_pSet2);
DDX_FieldText(pDX, IDC_EDIT3, m_pSet3->m_SUMA, m_pSet3);
}
// CDb1Set* m_pSet1;
// CDb2Set* m_pSet2;
// CDb2Set* m_pSet2;
програмата се компилира и върви, но когато извикам ClassWizard, той ми дава съобщение:
“data mappings are not valid m_pSet2->m_NUMB, m_pSet3->m_SUMA”
Това вероятно е поради факта, че може да се специфицира “only one foreign object per class”, в случая foreign class: CDb1Set - foreign variable: m_pSet1.
Дайте някакви идеи, как може да се реши този проблем. Предварително благодаря!
Re: MS VC++ help...
Оказа се, че проблема е следствие от промяна името на клас. Бях променил
в сорсовете името на един клас. Би трябвало една такава промяна да не създава проблеми. И действително програмата се компилира и върви без грешка. Но тази промяна не се отразява в ClassWizard . Неговия списък съдържа старото име на класа и от там идват съответните съобщения.


в сорсовете името на един клас. Би трябвало една такава промяна да не създава проблеми. И действително програмата се компилира и върви без грешка. Но тази промяна не се отразява в ClassWizard . Неговия списък съдържа старото име на класа и от там идват съответните съобщения.