Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Métodos En La Clases
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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.
 



 
Guizans - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Métodos En La Clases 
 
Vamos, que he cometido un error de novato. Jajajaja
Un saludo.
 



 
Guizans - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Métodos En La Clases 
 
Guizans escribió:  
...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.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Métodos En La Clases 
 
http://www.gambas-it.org/smf/index....g44696#msg44696
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Un Detalle De La Herencia Entre Clases Y P... jsbsan General 14 Sabado, 27 Septiembre 2014, 11:29 Ver último mensaje
Shell
No hay nuevos mensajes Métodos Especiales Shell General 2 Lunes, 16 Enero 2017, 01:03 Ver último mensaje
Shell
No hay nuevos mensajes Métodos En Gambas Gabitus General 5 Jueves, 04 May 2017, 16:32 Ver último mensaje
tincho
No hay nuevos mensajes Overwrite En Funciones O Métodos calcena General 3 Sabado, 28 Julio 2018, 23:38 Ver último mensaje
vuott
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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
No puede descargar archivos
No puede publicar eventos en el calendario