He extendido una clase. ¿ Y ahora ?. - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: He extendido una clase. ¿ Y ahora ?. (/thread-1464.html) |
He extendido una clase. ¿ Y ahora ?. - Shell - 25-07-2023 Buenas!. He añadido métodos y propiedades que no existen en una clase, pero no es un control, es solo una clase. El comienzo de la clase extendida es: - Clase de la que hereda - Export Ahora, ¿ cómo puedo hacer uso de esta clase extendida en mis proyectos ?. Supongo que. Creando un componente. En descripción, el tipo es componente. Actualmente el proyecto tiene ademas que no lo necesita, una clase más para test y el formulario. Esto supongo que debo de borrarlo. Si creo un paquete de instalación, salta crear ejecutable "automáticamente", si le doy a aceptar, lo crea, cosa que no es necesaria. ( Esto debe ser un bug ). Salto ese paso (cancelar) y comienza con la creación del paquete de instalación. Ok, ahora pregunto. Si esto es un componente. ¿ Para que tengo que añadirlo un grupo de paquetes ?. Si esto es solamente una clase extendida, para que por ejemplo lo voy a añadir al grupo "games" ( por decir uno ). ¿ No debería ser algo fuera de estos menús ?. Cuando termina de crear el paquete (sin problemas), ¿ no debería ser más adecuado un botón que muestre Aceptar/Finalizar para salir y no uno que muestra Cancelar ?. También cabe la posibilidad de que esa clase la tenga en un directorio dedicado a "cosas que uso" e importarla al proyecto. Ok se ha instalado, no se muestra nada en menús ( creía que al pertenecer a un tipo de paquetes, esto haría que se mostrase en el menú ). Puedo seleccionar el componente. No tiene descripción y tampoco tiene descripción de clases, métodos, etc. En este caso os muestro las propiedades del proyecto, que creo luego el componente. ¿ Qué es "incluye información de "? Pues sigue fallando. La clase extendida usa la clase Rect. En la clase de test añadí manualmente el nombre de la clase extendida, no se muestra al escribirla letra a letra. Por ejemplo mi clase MiRect hereda de extRect que a esta as su vez hereda de Rect. En FMain hago uso de la clase MiRect. Y funciona, pero no como debiese. Tal como salgo del editor, intento volver a cargar el proyecto y se muestra ese error, el proyecto se abre....y Gambas se ha puesto tonto...congelamiento súbito. Saludos RE: He extendido una clase. ¿ Y ahora ?. - Shell - 25-07-2023 Dice la ayuda de Gambas: Cita:If a method or a property of an exported class returns an object of another class declared in your component, then this other class should be exported too. Otherwise, the user won't be able to store a reference on it, unless he uses the Object datatype. Pero no puedo exportar la clase Rect. Eso es como tener el código fuente de la clase Rect y situar export arriba de esta. Su código está diseñado en "C" y "C++" Usando Extern ya seria de ciencia ficción. |