Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ERROR funcion UpdateAllViews

Estas en el tema de ERROR funcion UpdateAllViews en el foro de C/C++ en Foros del Web. Esta funcion muestra un dialogo para insertar una variable, tras introducir los datos y darle a aceptar, salta un error, poniendo puntos de interrupcion, creo ...
  #1 (permalink)  
Antiguo 15/08/2011, 04:40
 
Fecha de Ingreso: abril-2011
Ubicación: doprivf
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
ERROR funcion UpdateAllViews

Esta funcion muestra un dialogo para insertar una variable, tras introducir los datos y darle a aceptar, salta un error, poniendo puntos de interrupcion, creo que el error debe estar en las ultimas dos funciones ( pDoc->UpdateAllViews (NULL);
pDoc->SetModifiedFlag (true);). Pero no se que puede pasar, el error que da es el siguiente:
Excepción no controlada en 0x775353dc en prueba7.exe: 0xC0000005: Infracción de acceso al escribir en la ubicación 0x00100fd8.


Código:
void Cprueba7View::OnVariablesInsertarnueva()
{
	CString nombre;	// Nombre de la nueva variable por defecto
	INT_PTR tam_vars = 0;	// Tamaño del array de variables
	nombre = NuevoNombre(TEXT("Var"),&NombresVars);
	// Se obtiene un puntero de la clase view
	Cprueba7Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// Constructor del diálogo características
	CDlgCaracteristica dlg (this, true, &NombresVars);
	// Establezco en el edit del diálogo el nombre por defecto
	dlg.Variable.Nombre = nombre;
	dlg.m_nombre.SetString (nombre);
	if (dlg.DoModal () == IDOK)
	{
		// El usuario introdujo una variable nueva
		// La inserto en el vector de variables
		tam_vars = pDoc->Variables.Add (new CDatos (dlg.Variable.Tipo  ,0 ,dlg.Variable.Escala,dlg.Variable.Nombre , NULL, NULL, dlg.Variable.Etiqueta , dlg.Variable.Labels , dlg.Variable.Ausente , dlg.Variable.Precision ));
		pDoc->UpdateAllViews (NULL);
		pDoc->SetModifiedFlag (true);
	}
}
Espero que alguien me pueda ayudar,
Gracias

Etiquetas: c++., studio2010, visual
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




La zona horaria es GMT -6. Ahora son las 17:24.