|
Página 1 de 1
|
Autor |
Mensaje |
Guizans
Aprendiz
Registrado: Febrero 2012
Mensajes: 99
Edad: 45
|
Métodos En La Clases
Hola comunidad.
Me ha pasado una cosa muy curiosa, y me ha hecho romperme la cabeza un buen rato hasta que he dado con la solución. Resulta que he creado una clase en un programa que estoy haciendo. Esta clase tiene varios métodos y funciones, algunos privados otros públicos. El caso es que desde otra clase, a pesar de haber instanciado esta clase, no me aparecían en el asistente los métodos públicos de la primera clase. Y por supuesto, cuando ejecutaba el programa me daba un error de que ese método no existía.
No me lo podía creer. El método si existía, era público. Lo intenté todo: cambiar la clase a un módulo, hacer la clase estática, daba igual, el resultado era el mismo.
Por un casual, me fijé en los nombres de los métodos y ahí radicaba el problema. Los métodos se llaman por ejemplo encontrar_comando, y ahí está el error, el guion bajo. Si se nombra un método o función y contiene un guion bajo (o dos) no se puede acceder desde otro sitio. Supongo que es por qué los eventos llevan guion bajo, y de ahí la confusión, digo yo. El caso es que renombrando los métodos a encontarComando ahora si funciona bien.
¿No resulta curioso?¿o es un error de novato?
Un saludo.
|
#1 Sabado, 24 Noviembre 2018, 23:41 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Métodos En La Clases
Guizans:
Citar: Supongo que es por qué los eventos llevan guion bajo, y de ahí la confusión,
Efectivamente...
Citar: _comando
El "_", creo que esta reservado para usarlos con los observadores, por eso no lo puedes usar como parte del nombre de métodos normales.
Ejemplo:
https://jsbsan.blogspot.com/2015/04...pulsar-una.html
|
#2 Domingo, 25 Noviembre 2018, 11:59 |
|
|
Guizans
Aprendiz
Registrado: Febrero 2012
Mensajes: 99
Edad: 45
|
Re: Métodos En La Clases
Vamos, que he cometido un error de novato. Jajajaja
Un saludo.
|
#3 Domingo, 25 Noviembre 2018, 13:21 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Métodos En La Clases
...Los métodos se llaman por ejemplo encontrar_comando, y ahí está el error, el guion bajo...
Ok, sera por la costumbre de no usar el "_" en los nombres de campos que aquí en gambas tampoco lo hago así que no me ha sucedido, pero me apunto el dato.
Gracias por compartirlo.
Saludos.
|
#4 Domingo, 25 Noviembre 2018, 20:26 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Métodos En La Clases
|
#5 Jueves, 29 Noviembre 2018, 15:55 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Métodos En La Clases
De Gambaswiki.org
Citar: 1.5. Special methods
Special methods are methods declared in classes, whose name begins with an underscore character, and that are called by the interpreter in the following situations:
When an object is created.
When an object is freed.
When the object class is loaded.
When the object class is unloaded.
When using an object as if it is an array.
When enumerating the object.
When using an object as if it is a function.
When an object is attached to or detached from its parent.
When trying to use an unknown object method or property.
See Special Methods and Special Methods for more information.
El subrayado es mío.
http://gambaswiki.org/wiki/doc/object-model
=================== No podemos regresar
última edición por shordi el Jueves, 29 Noviembre 2018, 19:53; editado 1 vez
|
#6 Jueves, 29 Noviembre 2018, 19:52 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Métodos En La Clases
con el guion bajo me paso lo mismo pero no se si con una subrutina o con que fue si lo encuentro después lo pongo por acá. El guion bajo es algo así como un carácter reservado para algunas cosas.
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#7 Viernes, 30 Noviembre 2018, 17:30 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|