Preguntitas
Publicado por Nelek (816 intervenciones) el 29/03/2006 14:32:00
Hola a todos,
me dirijo a vosotros a ver si me podeis ayudar con dudas de concepto que tengo. Estoy programando en VC++ y lo del método de clases, aunque ya lo voy entendiendo, me lleva por el camino de la amargura. Mi proyecto se llama FPS (lo digo por poner los mismos nombres que uso). El programa es complicado y demasiado largo como para preguntar cosas del codigo (con eso ya me las apaño yo como puedo, antes o despues siempre lo hago funcionar) pero me gustaria preguntaros cosas de la metodica en MFC.
** 1) Los eventos originados al pulsar algo en el menu o toolbar, es decir, los ID_xxx:COMMAND, donde es mejor implementarlos? en FPSDoc o en FPSView?
Por ahora los estaba haciendo en el FPSDoc y, en caso de necesitar algo especifico, lo unia con el FPSView mediante variables. Es decir, el evento lo disparo en FPSDoc y si es evento tiene que desencadenar algo en el FPSView (como añadir un bmp) entonces activo una variable en el FPSDoc y la evaluo en el FPSView. Lo empecé así por ser actualizarse más a menudo el view que el doc, pero ahora que tengo algunos conflictos de prioridades dudo del método.
** 2) Si tengo que guardar datos especificos a cada tipo de elemento, pero cada tipo consta de distintos elementos... como se haría de la forma mas correcta?
Hasta ahora, lo estoy haciendo creando una clase para cada tipo de elemento con sus correspondientes datos, y luego en el FPSDoc la traigo en forma de Array y accedo a sus contenidos con funciones de tipo Get... y Set... programadas en la clase, es decir:
CInputData m_aInputArray [MAXIN] (y lo mismo para Outputs y Reglers).
m_aInputArray[m_nInIDNum].GetInName( ) (por ejemplo)
Es correcto el planteamiento? Aun cuando dentro de CReglerData haya otros dos arrays (InConnectionArr y OutConnectionArr) para saber a que elementos esta conectado?
m_aRegDataArray[m_nRegIDNum].SetInputName (int pos, CString inName)
** 3) A raiz de un hilo un poco más abajo que hace referencia a "extern tipo_var nombre_var", esto sirve solo para publicas? o tambien para privadas? y... para variables que hay que comprobar en muchos sitios distintos... cual es el metodo correcto?
Hasta el momento las tengo Publicas en el FPSDoc y luego accedo mediante el puntero pDoc->variable, pero que es mejor, desde el punto de vista de las Clases? Lo dejo como lo estoy haciendo hasta ahora?, Las hago privadas y creo funciones de Get y Set como en los otros casos menos habituales? Las llamo y accedo a ellas mediante el "extern..." como se dice en el mensaje de abajo?
Ante todo, muchas gracias a todo aquel que me conteste. Siento que el mail sea tan largo.
me dirijo a vosotros a ver si me podeis ayudar con dudas de concepto que tengo. Estoy programando en VC++ y lo del método de clases, aunque ya lo voy entendiendo, me lleva por el camino de la amargura. Mi proyecto se llama FPS (lo digo por poner los mismos nombres que uso). El programa es complicado y demasiado largo como para preguntar cosas del codigo (con eso ya me las apaño yo como puedo, antes o despues siempre lo hago funcionar) pero me gustaria preguntaros cosas de la metodica en MFC.
** 1) Los eventos originados al pulsar algo en el menu o toolbar, es decir, los ID_xxx:COMMAND, donde es mejor implementarlos? en FPSDoc o en FPSView?
Por ahora los estaba haciendo en el FPSDoc y, en caso de necesitar algo especifico, lo unia con el FPSView mediante variables. Es decir, el evento lo disparo en FPSDoc y si es evento tiene que desencadenar algo en el FPSView (como añadir un bmp) entonces activo una variable en el FPSDoc y la evaluo en el FPSView. Lo empecé así por ser actualizarse más a menudo el view que el doc, pero ahora que tengo algunos conflictos de prioridades dudo del método.
** 2) Si tengo que guardar datos especificos a cada tipo de elemento, pero cada tipo consta de distintos elementos... como se haría de la forma mas correcta?
Hasta ahora, lo estoy haciendo creando una clase para cada tipo de elemento con sus correspondientes datos, y luego en el FPSDoc la traigo en forma de Array y accedo a sus contenidos con funciones de tipo Get... y Set... programadas en la clase, es decir:
CInputData m_aInputArray [MAXIN] (y lo mismo para Outputs y Reglers).
m_aInputArray[m_nInIDNum].GetInName( ) (por ejemplo)
Es correcto el planteamiento? Aun cuando dentro de CReglerData haya otros dos arrays (InConnectionArr y OutConnectionArr) para saber a que elementos esta conectado?
m_aRegDataArray[m_nRegIDNum].SetInputName (int pos, CString inName)
** 3) A raiz de un hilo un poco más abajo que hace referencia a "extern tipo_var nombre_var", esto sirve solo para publicas? o tambien para privadas? y... para variables que hay que comprobar en muchos sitios distintos... cual es el metodo correcto?
Hasta el momento las tengo Publicas en el FPSDoc y luego accedo mediante el puntero pDoc->variable, pero que es mejor, desde el punto de vista de las Clases? Lo dejo como lo estoy haciendo hasta ahora?, Las hago privadas y creo funciones de Get y Set como en los otros casos menos habituales? Las llamo y accedo a ellas mediante el "extern..." como se dice en el mensaje de abajo?
Ante todo, muchas gracias a todo aquel que me conteste. Siento que el mail sea tan largo.
Valora esta pregunta


0