problema en grid de clase basada en container

16/01/2007 - 03:18 por Templario | Informe spam
Hola a todos. un problema:

tengo el V fox 9.0
tengo una clase basada en el container en donde tengo un grid y varios
textbox, en el evento keypress del text1 de una columna del grid llamo a
un metodo que se llama SeleccionaDato, el problema es que cuando se me
despliga el metodo (del menu desplegable estilo autocompletar), no
aparece poniendo directamente desde la clase como es

clContainer.seleccionaDatos && Asi no me aparece en el menu

aparentemente tengo que poner como si estuviera desde un form y asi es
como si aparece

thisform.clContainer.seleccionadatos

el problema es que creo la clase en tiempo de ejecucion, todo me hace
muy bien solo es cuando llamo el evento keypress que es cuando me
aparece el siguiente error.

"UnKnown Member "clContainer" "

en donde puede estar el error?

muchas gracias por sus respuestas
 

Leer las respuestas

#1 Templario
16/01/2007 - 18:45 | Informe spam
Templario wrote:
Hola a todos. un problema:

tengo el V fox 9.0
tengo una clase basada en el container en donde tengo un grid y varios
textbox, en el evento keypress del text1 de una columna del grid llamo a
un metodo que se llama SeleccionaDato, el problema es que cuando se me
despliga el metodo (del menu desplegable estilo autocompletar), no
aparece poniendo directamente desde la clase como es

clContainer.seleccionaDatos && Asi no me aparece en el menu

aparentemente tengo que poner como si estuviera desde un form y asi es
como si aparece

thisform.clContainer.seleccionadatos

el problema es que creo la clase en tiempo de ejecucion, todo me hace
muy bien solo es cuando llamo el evento keypress que es cuando me
aparece el siguiente error.

"UnKnown Member "clContainer" "

en donde puede estar el error?

muchas gracias por sus respuestas





Hola a todos ya le encontre una solucion

primero en el metodo init hice una una variable publica

procedure clase.init
Public pcVariablePublica
* this.Name = "nombreClase"
pcVariablePublica = this.name

endproc

y luego ya en el metodo keypress de la clase


procedure clase.grid.column1.text1.keypress
lparameters nKeyCode, nShiftAltCtrl

local lcComando
* obtiene el valor
* lcComando = "thisform.nombreClase.seleccionaDatos"
lcComando= "thisform."+pcVariablePublica+".seleccionaDatos"

* Ejecutar el comando de la macrosustitucion
&lcComando && Ejecuta El metodo desde la Macro sustitucion

endproc

Preguntas similares