Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-03-2010
Avatar de rcarrillom
[rcarrillom] rcarrillom is offline
Miembro Premium
 
Registrado: dic 2004
Ubicación: UK / North Sea / Norway / Golfo de México / Frente a mi Laptop
Posts: 219
Poder: 20
rcarrillom Va por buen camino
Error C2248en C++: cannot access protected member

Saludos al foro, espero que sea el foro adecuado para mi duda.

Hace ya un buen que no programaba en C++, la versión que estoy usando es VS 2008 Professional, instalación completa.

Me han dado un código ya desarrollado que supuestamente compila, con la interfaz ribbon (qué manía de copiar interfaces) para hacer ciertas mejoras. No tengo contacto con el desarrollador original. El problema que tengo es el siguiente:

Cita:
error C2248: 'CMFCPropertyGridProperty::m_varValue' : cannot access protected member declared in class 'CMFCPropertyGridProperty'
c:\archivos de programa\microsoft visual studio 9.0\vc\atlmfc\include\afxpropertygridctrl.h(212) : see declaration of 'CMFCPropertyGridProperty::m_varValue'
c:\archivos de programa\microsoft visual studio 9.0\vc\atlmfc\include\afxpropertygridctrl.h(33) : see declaration of 'CMFCPropertyGridProperty'
Originado por la línea de código

Código:
((CMainFrame*)AfxGetMainWnd())->m_wndProperties.pKPInterval->m_varValue.bstrVal = meandistanceStr.AllocSysString();
Entiendo que no hay acceso a m_varValue por estar en la seccion protected, aunque para mi lógica sí deberia ser posible, de hecho no he modificado el código fuente aún, sólo intenté compilarlo. Tengo otras líneas con error como

Código:
    m_wndprogressBar.m_nWidth = 400;
    m_wndprogressBar.m_nHeight = 30;
con el error

Cita:
.\MainFrm.cpp(76) : error C2248: 'CMFCRibbonProgressBar::m_nWidth' : cannot access protected member declared in class 'CMFCRibbonProgressBar'
c:\archivos de programa\microsoft visual studio 9.0\vc\atlmfc\include\afxribbonprogressbar.h(69) : see declaration of 'CMFCRibbonProgressBar::m_nWidth'
c:\archivos de programa\microsoft visual studio 9.0\vc\atlmfc\include\afxribbonprogressbar.h(25) : see declaration of 'CMFCRibbonProgressBar'
Y otro ejemplo

Código:
        CMyView* pViewGraph = (CMyView*)((CMainFrame*)AfxGetMainWnd())->m_pViewActive;
con el error

Cita:
.\MyDoc.cpp(178) : error C2248: 'CFrameWnd::m_pViewActive' : cannot access protected member declared in class 'CFrameWnd'
C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxwin.h(3866) : see declaration of 'CFrameWnd::m_pViewActive'
C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxwin.h(3720) : see declaration of 'CFrameWnd'
De hecho son los tres únicos tipos de error pero en mas de 100 lineas similares. Una solución chapucera fué mover las declaraciones de protected hacia public, pero obviamente no debo modificar los fuentes del sistema, sólo los del programa ya desarrollado. Logré correr el programa de esta manera pero me generó errores al momento de refrescar la ventana de la aplicación.

Cómo puedo arreglar estos errores sin modificar los fuentes de C++? Es algo de namespaces? Ando perdido. Espero que sea un setting de C++, ya que no me proporcionaron el archivo original .sln, y solamente un archivo .suo con sólo parámetros de release.

Toda la ayuda es bienvenida
__________________
eLcHiCoTeMiDo - Rompecorazones profesional
Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos?
Salva a un nylon, usa prendas de piel de foca
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error Abstract Error y Access violation zvf OOP 33 08-09-2010 18:50:33
Error access violation dmagui OOP 4 25-10-2006 09:57:50
Error al compactar access FGarcia Conexión con bases de datos 3 29-09-2006 19:03:45
Error Access Violation FGarcia Varios 1 13-06-2006 23:43:15
error con access supermilloriver Conexión con bases de datos 3 09-01-2006 13:06:12


La franja horaria es GMT +2. Ahora son las 17:35:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi