SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: a343 en Lunes 8 de Agosto de 2011, 12:01

Título: ERROR SetModifiedFlag /UpdateAllViews
Publicado por: a343 en Lunes 8 de Agosto de 2011, 12:01
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: [Seleccionar]
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
Título: Re:ERROR SetModifiedFlag /UpdateAllViews
Publicado por: a343 en Lunes 15 de Agosto de 2011, 17:23
por favor, alguien podria responderme?