Foros del Web » Programación para mayores de 30 ;) » Programación General »

Unir 2 proyectos Visual C++

Estas en el tema de Unir 2 proyectos Visual C++ en el foro de Programación General en Foros del Web. Hola, a ver si me podeis ayudar en esto. Hice un programa en Visual C++ para mostrar el contenido de una base de datos Access. ...
  #1 (permalink)  
Antiguo 05/04/2005, 20:26
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 4 meses
Puntos: 0
Unir 2 proyectos Visual C++

Hola, a ver si me podeis ayudar en esto.

Hice un programa en Visual C++ para mostrar el contenido de una base de datos Access. Programa SDI con una clase ScrollView.

Hice otro programa para: añadir, borrar, modificar dicha base de datos, tambien SDI con una clase CRecordView.

Si no lo hice todo en un solo programa fue porque no sabia como (soy nulo con el visual c++), no lo veia claro, ya que en un caso tengo en la pantalla toda la base de datos mostrada y en el otro lo que tengo en pantalla es un registro y puedo ir pasando de uno a otro (pero siempre mostrando uno) y borrarlo, modificarlo, etc...

Intente basandome en el programa que me mostraba la BD hacer lo que habia hecho en el otro pero en un dialogo que se abriese al presionar un boton y desde ahi modificar... pero tampoco fui capaz.

Ambos programas funcionan muy bien por separado y tras mis intentos frustrados solo se me ocurre unirlos en un mismo workspace y que uno sea subprograma que se abra a partir del otro o algo asi, ¿alguien sabe como se hace eso?, o sino alguna otra idea o ayuda...

Muchas gracias.
  #2 (permalink)  
Antiguo 11/04/2005, 20:38
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 4 meses
Puntos: 0
La solucion que he encontrado es añadir al menu una entrada para cambiar de vista y trabajar con las 2 vistas, una para ver la BD y otra para modificar: BioLib3View y AddModView.
El problema ahora lo tengo al compilar. Recibo el siguiente mensaje: "Debug Assertion Failed!"
Y al depurar la aplicación veo que falla en la línea:
ASSERT(cs.style & WS_CHILD);
del fichero viewcore.cpp correspondiente a la MFC.

La funcion que uso para cambiar de vista es:

void CMainFrame::SwitchToView(eView nView)
{
CView* pOldActiveView = GetActiveView();
CView* pNewActiveView = (CView*) GetDlgItem(nView);
if (pNewActiveView == NULL) {
switch (nView) {
case VER:
pNewActiveView = (CView*) new BioLib3View;
break;
case TRABAJAR:
pNewActiveView = (CView*) new AddModView;
break;
}
CCreateContext context;
context.m_pCurrentDoc = pOldActiveView->GetDocument();
pNewActiveView->Create(NULL, NULL, WS_BORDER,
CFrameWnd::rectDefault, this, nView, &context);
pNewActiveView->OnInitialUpdate();
}
SetActiveView(pNewActiveView);
pNewActiveView->ShowWindow(SW_SHOW);
pOldActiveView->ShowWindow(SW_HIDE);
pOldActiveView->SetDlgCtrlID(
pOldActiveView->GetRuntimeClass() ==
RUNTIME_CLASS(BioLib3View) ? VER : TRABAJAR);
pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
RecalcLayout();
}

Muchas gracias.
  #3 (permalink)  
Antiguo 12/04/2005, 13:34
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
pNewActiveView->Create(NULL, NULL, WS_BORDER,
CFrameWnd::rectDefault, this, nView, &context);

Supongo que ahi no le estas pasando ni WS_CHILD ni en el handle (HWND) de la ventana padre.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 05:39.