https://foro.gambas-es.org/viewtopic.php?f=1&t=2302
-----------------------------------
ljma
Miercoles, 18 Abril 2012, 13:43

Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
Hola,

Con el fin de encontrar el error que me generaba el componente "Gridview" con la versión 3.1.0 en mi aplicación, he creado otro proyecto al que le voy incorporando el código poco a poco haciendo las oportunas pruebas.
Al ejecutar el proyecto  me lanza este error "EL método especial _new no puede ser estático" en mi componente CTexbox, y detiene la ejecución.


Este es el método _new() del componente:
[code linenumbers=false syntax=gambas]
...
Public Sub _new()
  hObs = New Observer(Me) As "TextBox" ' declara una nueva clase observer llamada TextBox
  Super.background = &FFFFFF&
End
...
[/code]

En cambio, si ejecuto el proyecto entero (el completo con el mismo componente ) no da ningún error.


¿Alguna idea?


Gracias anticipadas

[quote]
[System]
OperatingSystem=Linux
Kernel=2.6.35-22-generic
Architecture=i686
Memory=481164 kB
DistributionVendor=Ubuntu
DistributionRelease="Ubuntu 10.10"
Desktop=Gnome

[Gambas 2]
Version=2.21.0
Path=/usr/bin/gbx2

[Gambas 3]
Version=3.1.0
Path=/usr/local/bin/gbx3

[Libraries]
Qt4=libQtCore.so.4.7.0
GTK+=libgtk-x11-2.0.so.0.2200.0
[/quote]


Saludos


-----------------------------------
jguardon
Miercoles, 18 Abril 2012, 16:20

Re: Error En Gambas 3.1
-----------------------------------
Supongo que es porque no se puede usar como nombre del manejador de eventos una palabra reservada, como lo es "TextBox", ya que es el nombre de una clase nativa.

Prueba usando otro nombre, por ejemplo "MyTextBox":

[code linenumbers=false syntax=gambas]hObs = New Observer(Me) As "MyTextBox" [/code]


Es lo único raro que he visto, aunque no tenga nada que ver con el mensaje del error...

Saludos


-----------------------------------
ljma
Jueves, 19 Abril 2012, 08:03

Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
Hola,

Cambio el título porque se ajusta más a lo que me ha pasado:

Como expliqué antes estoy rehaciendo mi programa por un problema con "Gridview". Para ello creo un nuevo proyecto vacío y voy creando las clases, formularios, etc. Con copia y pega las voy "llenando".
[b][i][u]Cuidado con seguir estos pasos porque garantizan el Caos[/u][/i][/b] (al menos lo que me ha pasado a mi):
Ejemplo:
            1.-Creas una clase nueva
            2.-Pinchas en el nombre de la clase para renonbrarla
            3.-Cambias el nombre
            4.-PULSAS "ENTER" y........ DESAPARECE LA CLASE.

Como no la puedes recuperar cierras el proyecto y lo abres otra vez. Ya aparece la clase,. El problema está en que, depende si has grabado o no y de la secuencia de pasos te cambia el contenido de la clase por el contenido de otra.....y te puedes volver "modorro". Luego intentas grabar o correr el programa y salen fallos raros como el de _new u otro que me sale ahora de que no encuentra la clase (y está)......

Me da la impresión que esta versión no está lo suficientemente madura como para migrar nuestros programas. Tampoco se si esto es un problema que me ocurre a mi, con la combinación de mi software, y a los demás os funciona sin problemas.


Espero comentarios.


Saludos


-----------------------------------
jguardon
Jueves, 19 Abril 2012, 19:08

Re: Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
No he podido constatar el fallo que comentas. Sin embargo creo que en la versión más reciente que es la [b]3.1.1[/b] han corregido un fallo que no permitía crear carpetas nuevas bajo el árbol del proyecto, no sé si estará relacionado.

Por otra parte, desconozco si has compilado gambas desde las fuentes SVN o del paquete tar.gz o incluso de los binarios que hay por ahí no oficiales (en PPA). Parece lógico pensar que cuanto más actual sea la versión que usemos, menos fallos contendrá. Yo siempre suelo compilar las fuentes del SVN y no suelo tener problemas.

Ahora y como reflexión personal, el verdadero problema con gambas 3 es la falta de repositorios oficiales suficientemente actualizados, al menos en distribuciones basadas en Debian. La política tan conservadora de los chicos de Debian (y por ende de sus derivadas) hace que siempre estemos retrasados en este aspecto, dificultando en gran medida la distribución de nuestras aplicaciones. Fijaos que aún no está ni siquiera Gambas 3.0 en los repos, pero peor aún, seguro que cuando esté, será esa, la 3.0 y no la última directamente con un montón de fallos corregidos.

Resumiendo, si queremos progresar, hay que estar actualizado en cuanto a las fuentes de Gambas y a la hora de distribuir... ¿qué hacemos? Alguien se acuerda de la variable de entorno GB_DIR ?

http://foro.gambas-es.org/kb.php?mode=article&k=4

Saludos


-----------------------------------
ljma
Jueves, 19 Abril 2012, 20:03

Re: Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
Hola jguardon,

He compilado desde las fuentes SVN, pero....si la última versión es la 3.1.1 ¿Porqué me sale la 3.1.0?  

Saludos


-----------------------------------
jguardon
Jueves, 19 Abril 2012, 20:14

Re: Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
¿Has limpiado previamente la instalación antigua de gambas de tu PC? Puede que hayan quedado rastros y estés ejecutando aún una versión antigua del ejecutable gambas3.gambas

Debes borrar algunos archivos, tal como hago yo en el script automático que anda por el foro...

Saludos


-----------------------------------
ljma
Viernes, 20 Abril 2012, 07:42

Re: Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
Hola jguardon, 


Si, si uso tu script para instalar. No obstante voy a probar otra vez y os cuento.

Saludos


-----------------------------------
jguardon
Viernes, 20 Abril 2012, 08:53

Re: Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
Es posible que si has instalado en alguna ocasión algún paquete binario, hayan quedado restos de él en las rutas /usr/bin, /usr/share y /bin. El script sólo limpia las rutas en las que instala, que son /usr/local/*.

Ten cuidado al borrar, procura no usar comodines a menos que lo tengas muy claro, jeje!

Saludos


-----------------------------------
ljma
Viernes, 20 Abril 2012, 12:15

Re: Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
Hola jguardon, 

Acabo de instalarlo otra vez y esta vez si que se ha instalado la versión 3.1.1. En el archivo versión (trunk) figura la 3.1.1. al mirar la configuración del sistema sigue poniendo la 3.1.0. ¿¿es un error o tengo archivos mezclados??

Lo cierto es que en esta versión ya está corregido el error anterior (es un alivio porque se mezclaban los archivos). Otro problema que tengo (eso creo) es con la Clase Error.

Antes este código me funcionaba

[code linenumbers=false syntax=gambas]
  If Error  Then  
    Coge_error()
  Endif [/code]

Ahora tenga o no tenga error se ejecuta Coge_error. Lo he solucionado usando Catch.

Sigo adelante y os cuento.

Saludos


-----------------------------------
jguardon
Viernes, 20 Abril 2012, 12:50

Re: Caos Con Gambas 3.1 (Cambio El Título De Error En Gambas 3.1)
-----------------------------------
[quote user="ljma" post="13155"]Hola jguardon, 

Acabo de instalarlo otra vez y esta vez si que se ha instalado la versión 3.1.1. En el archivo versión (trunk) figura la 3.1.1. al mirar la configuración del sistema sigue poniendo la 3.1.0. ¿¿es un error o tengo archivos mezclados??

Lo cierto es que en esta versión ya está corregido el error anterior (es un alivio porque se mezclaban los archivos). Otro problema que tengo (eso creo) es con la Clase Error.[/quote]


No creo que tengas archivos mezclados, si has limpiado bien. Me temo que Benoit esta vez ha olvidado actualizar las versiones en el runtime. Sin embargo, está claro que ya existe un tag en el árbol SVN que es claramente 3.1.1 y además lo anunció en la lista de correo.

[quote user="ljma" post="13155"]
Antes este código me funcionaba

[code linenumbers=false syntax=gambas]
  If Error  Then  
    Coge_error()
  Endif [/code]

Ahora tenga o no tenga error se ejecuta Coge_error. Lo he solucionado usando Catch.

Sigo adelante y os cuento.

Saludos[/quote]

Supongo que usas 'if error then' justo después de alguna sentencia con 'Try', porque si no, no hay error que comprobar antes de que se dispare al terminar el evento.

No he dedicado todavía el tiempo ni las ganas necesarias para probar la nueva versión. Revisa la documentación por si algo ha cambiado y si no, será un bug que habrá que reportar.

Saludos


