Shell   25-07-2023, 21:58
#1
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. Rolleyes
 

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.

[Imagen: lP1lGRQ.png]

¿ Qué es "incluye información de "?
 

Pues sigue fallando.

[Imagen: YecEMog.png]

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
Última modificación: 25-07-2023, 22:51 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shell   25-07-2023, 23:22
#2
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.

If an exported class inherits another class declared in your component, then this other class must be exported too. Otherwise, you will get an error when the interpreter will load the component.

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. Big Grin

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.