[Solucionado] Error de compilacion Calificador no válido

Estado
Cerrado para nuevas respuestas.

recox

Argentum Online Libre
#1
Hola esta ves vengo a pedirles una mano ya que tenemos un problema que sinceramente no tengo ni idea como solucionar, ya que es un tanto raro hice un video para mostrar el error:


Alguna idea de que puede estar pasando ??

Les dejo el branch por si necesitan probar algo:
https://github.com/ao-libre/ao-cliente/tree/idiomas

Desde ya gracias.
 
Última edición:

Dr. Lord Fers

Legendario Inmortal Lvl 4
Miembro del equipo
Moderador
Moderador de Tecnología
#3
'Err' es como si estuviera reservado en VB6, tal cual como te dice Abhuga2, y si lo redefinís, vas a obtener un error. (En el caso de que hubiera sido reservado del lenguaje, te lo marcaría el IDE antes o inclusive al intentar compilar, pero como algunos módulos ya se habían compilado, no te lo tira al momento de debugear, eso sucede por vivir debugeando y no compilando.).

Yo hubiera optado por buscar primero en Google, porque es un error básico de VB.

Saludos.
 

Juan Manuel

Newbie Lvl 1
#4
che que poco respeto y mala onda que hay acá, digamos que VB no es un lenguaje moderno y hay muchísima gente que no tiene tanta experiencia, mismo yo que lo use mucho en sus épocas ando lo suficientemente oxidado para recordar alguna que otra palabra que ya esta reservada. Yo se que le pones muchas ganas al proyecto Recox y no esperas nada a cambio, a lo sumo hoy aprendiste algo nuevo.

Descargue el codigo y lo mire y efectivamente el problema es como dicen aca arriba, redefiniste Err aca:

ModLenguaje.bas:
Public Enum eMessageType
    Consola
    Palabras
    Letras
    Err
    Facciones
    Estadisticas
    Cliente
    Interfaz
End Enum
Cambia ese Err por otro nombre, que no sea ErrMSG por que ya se usa tambien y ya sabes que VB es medio tonto y se confunde.
 

Abhuga2

Newbie Lvl 2
#6
che que poco respeto y mala onda que hay acá, digamos que VB no es un lenguaje moderno y hay muchísima gente que no tiene tanta experiencia, mismo yo que lo use mucho en sus épocas ando lo suficientemente oxidado para recordar alguna que otra palabra que ya esta reservada. Yo se que le pones muchas ganas al proyecto Recox y no esperas nada a cambio, a lo sumo hoy aprendiste algo nuevo.

Descargue el codigo y lo mire y efectivamente el problema es como dicen aca arriba, redefiniste Err aca:

ModLenguaje.bas:
Public Enum eMessageType
    Consola
    Palabras
    Letras
    Err
    Facciones
    Estadisticas
    Cliente
    Interfaz
End Enum
Cambia ese Err por otro nombre, que no sea ErrMSG por que ya se usa tambien y ya sabes que VB es medio tonto y se confunde.
medio tonto es el programador. vb no se confunde ni tampoco es 'raro'

Err es un objeto global y no es palabra reservada de así serlo recibirías un error de compilacion

vos estas redefiniendo ya sea por accion o por omision un objeto global con tu propia implementacion

un enum no es mas que syntactic sugar para definir constantes relacionadas y no tiene su propio "scope". cualquier constante dentro de un enum que definas es accesible segun su nivel visibilidad como cualquier otra constante

por ende una constante "Err" en un enum publico redefine el objeto Err de vb a nivel global como es de esperarse
 

recox

Argentum Online Libre
#7
Primero muchas gracias a todos por la respuestas, no habia notado que ese Enum seguia ahi, pense que lo habia borrado (ya que es un branch el cual no empece yo pero ayude un poco en algunas cosas). El error fue solucionado segun me reportan y ya estan continuando con la traduccion.

Lo que me resulta extraño es eso que al momento de agregarla funciona y luego al guardar y volver a intentar no funciona mas, por supuesto busque en google y encontre info sobre el error y sobre la variable Err pero no el por que al reiniciar el vb6 hace que no funcione mas. Igual con el comentario: 'pero como algunos módulos ya se habían compilado, no te lo tira al momento de debugear' al menos una idea me hago de que puede estar pasando.

sos alto noob man fuera de joda

deja de vender humo con el choreo de aolibre y anda a mirar un tutorial de vb6

es obvio que modLenguaje redefine Err
Con respecto a lo de vender humo o choreo de aolibre, sinceramente no se por que le decis asi ya que el proyecto nunca busco problemas con nadie, todo lo contrario siempre el objetivo fue y sigue siendo desarrollo colaborativo para poder tener una base solida entre todos sin animo de lucro o buscar nada a cambio, simplemente para poder avanzar con el juego entre todos.

Personalmente y fuera del proyecto ao-libre, si en algun momento dije algo y alguien se sintio ofendido le pido disculpas aunque esa nunca fue la intencion, en el foro siempre trato de aportar ayudando a los demas o subiendo algun poco de codigo y aqui pueden ver mi historial en el sitio https://www.gs-zone.org/miembros/recox.34821/

Por eso digo, no es humo ya que todo lo que hay es tangible y todos estan invitados a participar, ni choreo ya que no se busca dinero ni absolutamente nada a cambio, es simplemente un aporte comunitario.
 

Dr. Lord Fers

Legendario Inmortal Lvl 4
Miembro del equipo
Moderador
Moderador de Tecnología
#8
Esto no es nada personal, en GS-Zone nos gusta atacarnos entre todos, eso inspira a que uno se esfuerce lo máximo posible antes de publicar un problema o un hilo relacionado, así uno logra auto-superarse, nadie te tiene bronca, inclusive yo dije que: "[...] hubiera optado por buscar primero en Google, [...]", ya que te hubieras ahorrado tiempo y 'gastes' con buenas intenciones. Es evidente que si el IDE te está mostrando una alerta, lo más probable es que sea algún "problema básico" o error sintáctico del lenguaje.

Lo que sí me preocupa, es esta imagen, "lenguages", lo mismo vi en el código en el repositorio, un Spanglish turbina, turbina:


Saludos. xD .
 
#10
Pero lo terminas bardeando igual
No lo bardeo, Se que labura con otro lenguaje, no saber completamente un lenguaje no es un insulto para mi, de hecho eso no se lo estaba diciendo a el si no a uds, en vez de enseñar, algunos lo bardean.

medio tonto es el programador. vb no se confunde ni tampoco es 'raro'

Err es un objeto global y no es palabra reservada de así serlo recibirías un error de compilacion

vos estas redefiniendo ya sea por accion o por omision un objeto global con tu propia implementacion

un enum no es mas que syntactic sugar para definir constantes relacionadas y no tiene su propio "scope". cualquier constante dentro de un enum que definas es accesible segun su nivel visibilidad como cualquier otra constante

por ende una constante "Err" en un enum publico redefine el objeto Err de vb a nivel global como es de esperarse
Es verdad, es un Objeto.

"Tonto" es una forma de decir... por favor no seamos tan literales... quiero decir que hay que ser cuidadoso en la manera de programar.
En otros lenguajes podes hacer enums con scope (de hecho son los únicos que uso), mas allá de eso, el IDE de VB a veces comete errores reconociendo variables, tenes que solucionar a mano para que te las pueda diferenciar, y eso me parece bastante tonto (Al menos por parte de la gente que creo el IDE).

Saludos!
 

Abhuga2

Newbie Lvl 2
#11
Es verdad, es un Objeto.

"Tonto" es una forma de decir... por favor no seamos tan literales... quiero decir que hay que ser cuidadoso en la manera de programar.
En otros lenguajes podes hacer enums con scope (de hecho son los únicos que uso), mas allá de eso, el IDE de VB a veces comete errores reconociendo variables, tenes que solucionar a mano para que te las pueda diferenciar, y eso me parece bastante tonto (Al menos por parte de la gente que creo el IDE).

Saludos!
no. vb no comete errores reconociendo variables

ahora si tu codigo no te lo entendes ni vos, esperar que lo haga vb me parece bastante tonto

antes de programar se supone que entiendas el concepto de scope, visibilidad y dependencia

el problema con vb6 es que tiene una barrera de entrada muy baja haciendole creer practicamente a cualquier noob que puede programar cuando no es así

como resultado el noob recibe errores que, producto de su desconocimiento, supone "raros" y culpa al lenguaje. y no es justo, el pobre cumple con su trabajo desde 1990 y a esta altura ya esta bastante viejo para andar lidiando con pendejos

mi comentario mala onda se debe a que los salvadores del ao me tienen seco. venden humo y le hacen perder tiempo a la gente con algo que no va a llegar a ningun lado. el muchacho hace puro copy paste, se cansa de pedir pull requests y encima afana recursos.

no existe tal cosa como community driven ao ni va a existir, asi que dejen de malgastar su tiempo en utopias irrealizables

argentum oficial hay solo uno y esta como esta por diversos factores que realmente desconozco. pero a mi criterio los noobs y el open source fueron ambos bastante nocivos
 
#12
Antes que anda estoy hablando del IDE, no del lenguaje, y si, como bien decis es un lenguaje que perdona mucho al que no sabe programar, eso mismo hace que se confunda variables con distinto case pero igual nombre en distintos modulos y te cambia los nombres solo al compilar, pasa que a fines prácticos, el programa compila y anda por que esas variables están en distinto scope, pero despues el source control se vuelve loco, y se hace incomodo de usar.

Tenemos visiones distintas, a mi me gusta que la gente programe, se anime a programar, y si algo no le funciona, saber que tiene una buena comunidad dispuesta para ayudarlo.

Por lo que leo parece que tenes problemas personales con Recox, o malas experiencias con este tipo de proyectos por algún motivo, que no me incumbe y tampoco importa. El tiene un proyecto, esta ahí para que lo agarres lo modifiques y hagas un pull request, yo ayer me lo baje sin problemas, lo mire y le dije que estaba mal, así que existir existe. Por lo tanto lo considero que es un proyecto abierto al a comunidad y, funcione o no ese proyecto, no es nuestro problema.

El Argentum oficial no existe. Y gracias al Open Source el AO vivio tanto tiempo.

Con esto dicho me retiro por que estamos bastante Offtopic ya.
 
Estado
Cerrado para nuevas respuestas.
Arriba