[C con Clase] static std::map

juan jmicanovelles en gmail.com
Sab Jun 14 01:05:47 CEST 2008


Lo habia intentado ya de esta manera, pero cometeria algun error porque ahora si me lo compila y se ejecuta correctamente.
Despues le he añadido una función para borrar las entradas del contenedor, a ver, es un edit para modificar los subitems de un listview, yo lo borro del map aquí:
		case WM_KILLFOCUS:
            	DestroyWindow(hEditable);
            break;
		case WM_DESTROY
			SetWindowLong(hEditable, GWL_WNDPROC, (LONG)wpOld);
			//En principio lo puse aquí pero me fallaba el programa
			//supongo poque tendría basura el HWND hEditable
			hEditable = NULL;
			DeleteFromMap(hEditable);
			break;
Es el procedimiento del edit, supongo que será correcto.
Gracias Steve.
Juan


El pasado 2008-06-12 20:09:06, Steven Davidson escribió:
 
SD> Hola Juan,
SD> Juan wrote:
SD> > static std::map<HWND,CListView*>m_EditMap;
SD> > en una clase
SD> > ¿Como inicializarla?
SD> > Error al linkar:
SD> >   [Linker Error] undefined reference to `CListView::m_EditMap' 
SD> Tienes que definir el objeto fuera de la clase; típicamente, se hace 
SD> globalmente. Por ejemplo,
SD> class CListView
SD> {
SD>    static std::map< HWND, CListView * > m_EditMap;
SD>    ...
SD> };
SD> std::map< HWND, CListView * > CListView::m_EditMap;
SD> Espero que esto te sirva.
SD> Steven
SD> _______________________________________________
SD> Lista de correo Cconclase Cconclase en listas.conclase.net
SD> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
SD> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ


Más información sobre la lista de distribución Cconclase