Error BASE/1004 No existe el método: EVAL

HMG en Español

Moderator: Rathinagiri

User avatar
edufloriv
Posts: 240
Joined: Thu Nov 08, 2012 3:42 am
DBs Used: DBF, MariaDB, MySQL, MSSQL, MariaDB
Location: PERU

Error BASE/1004 No existe el método: EVAL

Post by edufloriv »

Saludos amigos,

Tal vez a alguien le ha pasado tener que solucionar este error, el cual me sale esporádicamente (tal vez por alguna acción específica que realiza el usuario):

Date:14/05/14 Time: 15:06:44
Error BASE/1004 No existe el método: EVAL

Called from (b)EVAL(0)
Called from _PROCESSINITPROCEDURE(5090)
Called from _ACTIVATEWINDOW(4923)
Called from REGISTRODEVENTAS(626)


La línea 626 es:

ACTIVATE WINDOW Win_Ventas

No coloco todo el código de la ventana por que es extenso, así que lo adjunto como archivo zip.

Gracias de antemano y saludos cordiales,


Nota: Compilo con HMG 3.0.46
Attachments
Ventas.zip
(9.89 KiB) Downloaded 224 times

Eduardo Flores Rivas


LIMA - PERU
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Error BASE/1004 No existe el método: EVAL

Post by Pablo César »

Hola Eduardo,

Creo que estoy pasando por algo semejante.

Este error es porque apesar de la ventana Win_Ventas estar DEFINED, talvez ella no esté totalmente disponible. Porque ese error que emite viene de este código del HMG:
Screen.PNG
Screen.PNG (18.55 KiB) Viewed 4232 times
Porque hé visto en tu haces un RELEASE WINDOW Win_Ventas en la funcion PROC VentaSalir, solo que no encontré el llamado de esta funcion en el código que postaste.

Podrias explicar en que situacion buscas encerrar tu aplicacion de esta forma ?
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Javier Tovar
Posts: 1275
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México

Re: Error BASE/1004 No existe el método: EVAL

Post by Javier Tovar »

Hola Pablo César,

En la linea 217 esta la llamada a esta función.

Code: Select all

      BUTTON BotSalir     ;
         CAPTION '&Salir'   ;
         PICTURE 'imagen\salir.bmp' ;
         ACTION VentaSalir()
Hola edufloriv,

Es difícil saber donde esta el fallo con esta información.

Saludos.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Re: Error BASE/1004 No existe el método: EVAL

Post by Pablo César »

Javier Tovar wrote:Hola Pablo César,

En la linea 217 esta la llamada a esta función.
Uyy si ! No lo habia visto... gracias Javier.

Eduardo, por el tipo de mensaje, es proveniente del _ProcessInitProcedure, es decir, verifique mejor tu tutina de VentasIniciar. Vea tambien que alli llama otras: VentasFixear (que aqui no lo disponibilizaste) y VentasLimpiar.

Yo empezaria aislando esos llamados.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
pctoledo
Posts: 123
Joined: Wed Aug 25, 2010 10:45 am
Location: Araçatuba - SP - Brazil
Contact:

Re: Error BASE/1004 No existe el método: EVAL

Post by pctoledo »

Friends, see the line 70:

Code: Select all

   ON INIT VentasIniciar()
Replace with:

Code: Select all

   ON INIT {|| VentasIniciar() }
Regards/Saludos,

Toledo

Clipper On Line
EduardoLuis
Posts: 684
Joined: Tue Jun 04, 2013 6:33 pm
Location: Argentina

Re: Error BASE/1004 No existe el método: EVAL

Post by EduardoLuis »

Hola PCToledo:

Te consulto: en que cambia utilizar ON INIT VentasIniciar() ó ON INIT {|| VentasIniciar() }

La pregunta es porque me funciona igual con ambos métodos.-
Gracias por tu aclaración.-
Un abrazo. Eduardo
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Error BASE/1004 No existe el método: EVAL

Post by Pablo César »

EduardoLuis wrote:Hola PCToledo:

Te consulto: en que cambia utilizar ON INIT VentasIniciar() ó ON INIT {|| VentasIniciar() }

La pregunta es porque me funciona igual con ambos métodos.
Pois é amigo Toledo, eu ia te dizer isso. Acho que essa questão fica igual quando o comando é interpretado pelo i_window.ch na hora de executar o _DefineWindow(). É ai que ele coloca como vetor e depois transformado em codeblock. Mas talvez você tenha passado por alguma experiência que você tenha a nos contar :?:

---

Eso mismo, amigo Toledo. Yo le iba a decir eso. Creo que esta forma es la misma cuando el comando es interpretado por el i_window.ch al ejecutar el _DefineWindow(). E alli donde se transforma en vector y luego transformado en codeblock. Pero tal vez usted ha pasado por alguna experiencia que nos quiera contar :?:
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
edufloriv
Posts: 240
Joined: Thu Nov 08, 2012 3:42 am
DBs Used: DBF, MariaDB, MySQL, MSSQL, MariaDB
Location: PERU

Re: Error BASE/1004 No existe el método: EVAL

Post by edufloriv »

Saludos amigos,

Gracias por sus respuestas. Voy a probar la solución que plantea PCToledo, lo pruebo y les informo.

Saludos cordiales y gracias por su valioso tiempo.



Att.

Eduardo Flores Rivas


LIMA - PERU
Javier Tovar
Posts: 1275
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México

Re: Error BASE/1004 No existe el método: EVAL

Post by Javier Tovar »

Hola Eduardo Luis,
EduardoLuis wrote:Hola PCToledo:

Te consulto: en que cambia utilizar ON INIT VentasIniciar() ó ON INIT {|| VentasIniciar() }

La pregunta es porque me funciona igual con ambos métodos.-
Gracias por tu aclaración.-
Un abrazo. Eduardo
Lo que cambia, según yo entiendo, es que al poner el Codeblock el sistema como que "precarga" lo de la función al iniciar la Form en Window Defined y por eso es más rápida la respuesta, y sin el Codeblock lo que hace es llamarla hasta después que se cargue la Form e inicia con ON INIT.

Nota: Si estoy equivocado por favor aclárenme.

Saludos
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Error BASE/1004 No existe el método: EVAL

Post by Pablo César »

Javier Tovar wrote:Lo que cambia, según yo entiendo, es que al poner el Codeblock el sistema como que "precarga" lo de la función al iniciar la Form en Window Defined y por eso es más rápida la respuesta, y sin el Codeblock lo que hace es llamarla hasta después que se cargue la Form e inicia con ON INIT.
En mi opinion, esto no incideria en cualquier error... si es más rápida las respuesta ? No creo. Algo hay en otras funciones, que estaria de alguna forma abortando la salida de ese form.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Post Reply