FoxPro/Visual FoxPro - NO ANDA LA CLASE CONTAINER!!

 
Vista:

NO ANDA LA CLASE CONTAINER!!

Publicado por Andres (40 intervenciones) el 21/03/2004 02:55:54

Tengo este problema con las clases:

1 - Uso el diseñador de clases, y creo uno que es un CONTAINER
2 - Dentro del CONTAINER pongo un TIMER y un LABEL
3 - En el TIMER codifico en el metodo TIMER:

En el codigo lo unico que hago es preguntar si el contenido
LABEL.CAPTION es distinto a la funcion TIMER() . En caso
verdadero actualizo el LABEL.CAPTION con el TIMER()

El problema es que cuando estoy codificando y a la hora de
hacer referencia al LABEL uso la opcion lista de objetos y
lo que me trae es THIS.PRIMARIO.LABEL.CAPTION

Cuando ejecuto el formulario que llama a esta clase, me da un error
en esa linea poque no reconoce que es PRIMARIO (yo tampoco se que es).

Ya probe poniendo :
THIS.PRIMARIO.LABEL.CAPTION
THIS.CONTAINER.LABEL.CAPTION
THIS.LABEL.CAPTION

y me sigue dando error, no entiendo que va en lugar de ese
bendito PRIMARIO.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:NO ANDA LA CLASE CONTAINER!!

Publicado por Roman Suazo (2723 intervenciones) el 21/03/2004 05:41:42
Prueba poniendo algo asi en el codigo del timer:

this.parent.label.caption=´X´
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO ANDA LA CLASE CONTAINER!!

Publicado por Roman Suazo (2723 intervenciones) el 21/03/2004 06:06:53
Un errorsillo que puede estar pasando es que el texto que pongas en el
caption de prefrencia debe ir con comillas dobles asi: "mi text "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO ANDA LA CLASE CONTAINER!!

Publicado por Andres (40 intervenciones) el 21/03/2004 16:33:10

Ya probe poniendo unicamente texto y no funciona

El mensaje de error es "PRIMARIO es un miembro desconocido"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO ANDA LA CLASE CONTAINER!!

Publicado por Roman Suazo (2723 intervenciones) el 21/03/2004 18:34:02
Agunas consideraciones:

Si haces la clase, y despues en la forma le tiras un control, ese control
no es un objeto hijo del container.

Creo otra vez la clase, tal vez algo esta corrupto y pon los controles necesarios en el container, despues con el codigo que te di trabajas:

**evento del timer

this.parent.label.caption="texto"

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO ANDA LA CLASE CONTAINER!!

Publicado por Andres (40 intervenciones) el 21/03/2004 21:45:51
Gracias por el dato Roman
Logro funcionar reemplazando la parte que dice PRIMARIO con PARENT

No se porque en la lista e Objetos me trae el texto PRIMARIO... ahora ya se que cada vez que aparezca lo tendre que reemplazar a mano por PARENT.

De todos modos me quedo con la duda porque la seleccion de listas de objetos no me trae todos los datos correctos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO ANDA LA CLASE CONTAINER!!

Publicado por Roman Suazo (2723 intervenciones) el 21/03/2004 22:04:16
Explicando un poco mas, la palabra clave PARENT es una propiedad del objeto que guarda una referencia al objeto padre del control, es decir, el objeto padre del timer en este caso es el container (el objeto padre del container seria la forma), entonces usando esta propiedad nos ahorramos saber el nombre del control (como que hice esta explicacion algo larga).

Por lo que entiendo querias hacer referencia al label usando al propiedad controls(), pero por algun motivo falla, si yo quisiera usar esa propiedad haria algo asi:

this.parent.controls(1).caption="texto"

Ojo, el 1 en codigo indica a que control hijo nos referimos, es decir, si
hubieramos puesto 2, estarimoas haciendo referencia al hijo 2 y asi sucesivemente (puedes poner una variable en lugar de los numeros).

Las propiedades parent y controls (un arreglo) son importantes en muchos caso para escribir codigo generico o hacer loops en objetos hijos de un control.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO ANDA LA CLASE CONTAINER!!

Publicado por Victor Manuel (6 intervenciones) el 21/03/2004 19:54:30
Saludos..
Espero te sirva lo siguiente ya que yo tuve un problema similar al
crear una clase y contenerla en un form, me dió muchos errores y
termine reconstruyendo la clase con otro concepto y funciono.

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar