Page 1 of 1

Error al Compilar CLASES en Harbour (repregunta)

Posted: Mon Apr 23, 2007 10:27 pm
by lubin
Buenas Tardes

Disculpen mi insistencia.. He retornado con La misma pregunta

En el Link ..... de http://fivetechsoft.com/forums/viewtopic.php?t=6775
..... podran ver como fueron pasando las cosas.... las cuales aqui he hecho un RESUMEN por un motivo de apremio les agradesco soportar mi insistencia para resolver esto, ya que debo de pasar mis sistemas a Harbour... al menos era creo la mejor idea para salir de los 16 Bitssssss

Sucede que tengo problemas al usar una CLASE creada por mi , la cual funcionaba bien en CLIPPER , El resumen esto es lo que a pasado:

1ro. No me compilaba bien la clase, yo la tenia : CLASS KDAT_SYS()
Lo solucione poniendo CLASS KDAT_SYS sin los parentisis y paso ese error de compilacion.
PREGUNTA : ESA SOLUCION DE SINTXSIS ES CORRECTA ???

2do Luego me salio error en la defincion de DEFAULT de las Variables, no pude resolverlo y solo se me ocurrio ponerlo con Astericos mientras se resolvia,,
PREGUNTA : COMO FUNCIONAN EL COMANDO DEFAULT USADO EN LAS CLASES O HAY ALGO MAS QUE DEFINIR ANTES????

3.ro. Finalmente llego a compilar e inclusive Linkearlo (Ilink) del VERCE, y sucede que no corre por un aparente problema en la clase, sale lo siguiente :

Error Description Error Base/1040 Class: NIL has not exported Method SYS_PATHEXE

Y el SYS_PATHEXE es una variable DATA de la Clase la cual se carga la RUTA del sistema. Esta definicion y variable funcionaba correctamente en Clipper.



PREGUNTA FINAL: SE DEBE CREAR LA CLASE CON ALGUNA INDICACION ADICIONAL A LA QUE SE USABA EN CLIPPER CON FW16 BITS???


Gracias
Lubin

Posted: Mon Apr 23, 2007 10:47 pm
by Antonio Linares
Los paréntesis sobran.

Haz incluido esta línea al comienzo de tu clase ?

#include "FiveWin.ch"

y el método New() de tu clase debe devolver Self:

return Self

Posted: Tue Apr 24, 2007 2:08 am
by lubin
Hola Antonio

Gracias por tu respuesta.

1. Solo habia puesto el INCLUDE de objects.ch , ya agrege la de fivewin.ch

2. En la Clase, El Metodo NEW() retornaba NIL y no SELF , Hice el cambio para que retorne SELF.. y fue oki....
una Pregunta del Caso... Solo la Clase NEW() debe retornar SELF ???

3. Finalmente, al aumentar el INCLUDE FIVEWIN.CH en la Clase, funciono normalmente el
comando DEFAULT (problema tambien comentado en la consulta).

Realice la Compilacion y Link.. y ya paso... y no salio el Error cuando se ejecuta la clase.... asi que CASO : AJUSTES EN LA CLASE ... YA ESTA LISTO.


Gracias por la Ayuda. seguro esta HISTORIA DE IMPLEMENTAR DE 16BITS A 32BITSS CONTINUA...


Lubin

Posted: Tue Apr 24, 2007 6:55 am
by Antonio Linares
Cualquier método puede devolver Self si quieres, pero en el caso del método New() es obligatorio :-)

Posted: Wed Apr 25, 2007 12:50 am
by lubin
esta claro y confirmado
Gracias antonio