Según publica Benoît en la lista gambas-users, se ha añadido soporte para la definición de Estructuras dentro de nuestras clases, como nuevo tipo de dato.
No está terminado al 100%, ya que de momento no se pueden pasar estructuras a funciones Extern y sólo pueden declararse como Públicas, pero asegura que en breve será posible.
Para definir una estructura se debe hacer dentro de una clase o módulo de esta forma:
Una estructura es una clase sólo con miembros públicos que realmente son variables.
Se puede declarar una estructura dentro de un objeto de la siguiente manera (embebida):
Fijaros en la palabra clave "Struct" delante del nombre de la estructura.
Una estructura embebida no es un objeto en sí mismo. Sus datos son asignados dentro del objeto donde se ha declarado. Parecido a un Array estático, aunque no se pueden hacer "arrays embebidos" de estructuras estáticas.
Es posible anidar estructuras dentro de otras, ya que son clases. Un ejemplo un tanto estúpido podría ser:
----
La última revisión de gambas 3 tiene otro cambio: los objetos que no disparan eventos ya no asignan una estructura interna para el manejo de eventos, ahorrando 4 punteros (16 bytes en sistemas de 32 bits) por cada objeto.
También el componente gb.Report de Fabien Bodard está casi terminado, por lo que en breve será posible lanzar una versión Alpha de Gambas3, justo después de que el Gestor de Empaquetado esté finalizado.
Se anima a todos a usar la última revisión para hacer pruebas y buscar posibles fallos para reportar a Benoît. Cuanto antes encontremos los fallos, antes serán corregidos y de esta forma pronto veremos el lanzamiento oficial de Gambas3.
Saludos