Definición de variables

Entiendo que al ejecutar un form y habiendo abierto las tablas desde el entorno de datos luego al salir se cierran todas. ¿Es así?. ¿Cómo puedo daclarar variables para todo el formulario? Con public funciona pero quedan vigentes fuera del formulario y me complica.
La ultima: me aparecen mensajes al ejecutar los formularios "Thisform solo puede ser usado en un método", vuelvo a ejecutar y funciona sin el error. Incluso al salir del form y mirar la tabla desde el proyecto no me la deja ver me da el mismo error, si salgo del fox y entro si puedo. Creo que puede venir el error por los combo cargados con tablas, en el valid de ellos busco por ej:
Se le insumos
set order to cod_insumo
seek this.value o thisform.combo1.value
Sls
Millón de gracias
Fabricio

1 Respuesta

Respuesta
1
Sería mejor que utilizara propiedades del formulario para reemplazar el uso de variables. Esto se hace desde la opción del menú Form/New Property (con el form abierto). Para asignar el valor solo bastaría con Thisform. mipropiedad = "VARIABLE_STRING". Para el caso de los combos sería bueno utilizar el método lostfocus en lugar de valid, pero aún no llego a entender por que hace un seek. Si es que está asignando un valor por defecto debería suceder en un evento y si es para que cargue algo inicialmente debería usar el evento Init.
Suerte
Gracias por tu respuesta inmediata. Lo primero Ok . Lo pondré en practica.
Respecto del combo hago lo siguiente :
Por ej en el init cargo el combo con los datos de una tabla ( ej insumos ) cargo los campos cod_insumo, nombre, etc..
El boundcolumn lo establezco en la columna del cod_insumo.
La idea es que el usuario elija el insumo desde el combo y al salir se carguen otros datos de ese registro de la tabla en otros objetos ( por ej text ). Por eso pongo en el valid el seek buscando para que el puntero se mueva al registro elegido y después refresco los datos.
Esto lo hago en varios lados, ( proveedores, beines, etc .. ) y el error es el mismo así que debe tener que ver con el evento valid.
sls y gracias de nuevo
Utiliza el evento interactivechange para solucionar el problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas