FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Aviso del compilador: Method hides virtual method of base type
Hola,
Estoy llevando a cabo un componente que pretende servir como sustituto (veremos hasta qué punto) de la clase "TIniFile", de tal forma que pueda usarse como si de tal clase se tratase, con los mismos nombres de métodos y variables, salvo que la "configuración", las "opciones", las secciones, claves y valores, vaya, se guardan en formato XML. El componente se llama ya (porque tiene ya nombre) "TXmlComoIni" y estará incluido en DecComp en breve, si dios no lo remedia. Paso a comentar el problema, que, en realidad, no sé si es o no un problema propiamente dicho, pero, desde luego, una molestia, un escrúpulo, algo que no dejaría buen sabor de boca a un servidor incluso aunque en realidad no ocurriera nada y así fueran las cosas, como se las voy a contar. Al grano. El componente "TXmlComoIni" cuenta con dos constructores, o ha de contar con ellos (en buena medida me baso en otros trabajos, y además no me parece mal la implementación de este modo) para que pueda crearse "sin más" (con el primer constructor), y crearse también ya con ciertas propiedades, como pueda ser el archivo XML en que guardar la información que el componente puede manejar. Aquí la declaración de los constructores, aquí el ClubDelphi. Como pueden ver ahora encierro el segundo constructor, que además sobrecarga el nombre del primero, entre directivas de compilación que impiden que el problema se muestre, a veces. El problema es el que comento en el comentario del código fuente y Delphi me ofrece soluciones para el mismo: Cita:
Aquí la implementación de los constructores actualmente, aquí el ClubDelphi: He probado unas cuantas cosas... la palabra clave "override" en el segundo constructor, luego de "overload", por ejemplo, pero, no funciona: obtengo un simpático "Declaration of '<element>' differs from previous declaration". Yo diría que el problema puede evitarse, o estoy confundido: desde luego en C# una clase puede tener varios constructores, con distintos parámetros e incluso un constructor de clase. ¿Qué opinan? Muchas gracias a todos de antemano, ¿eh? Que se sepa. |
#2
|
||||
|
||||
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Hola,
Muchas gracias Lepe. Funciona estupendamente. Aquí está la ayuda sobre la directiva (palabra reservada) "reintroduce": Cita:
|
#4
|
||||
|
||||
Hola,
Acaso añadir que habríamos también de usar la directiva (palabra clave) "override", de modo que "la cosa" quedara como sigue: Saquen sus propias conclusiones. Gracias de nuevo Lepe. |
#5
|
||||
|
||||
Hola de nuevo,
He añadido ya el componente de que se habla en este Hilo en el paquete de componentes (todos muy sencillos) DecComp, de tal modo que quien quiera pueda descargarlo y obtener así este último engendro que he dado en llamar "TXmlComoIni". Es el caso que me ha parecido oportuno también adjuntarlo por separado aquí, por si alguien quiere echarle un vistazo rápido, probarlo por separado o porque no quiera, en fin, descargar el paquete antes mencionado. Lo he probado nomás en Delphi 7 y hace uso del componente "TXmlDocument", el cual no está "de serie" en todas las versiones de Delphi. O sea. Última edición por dec fecha: 05-11-2005 a las 14:34:06. Razón: Actualizar el archivo adjunto (solucionado un pequeño error). |
|
|
|