Parameters

Hola experto¡
La duda que tengo es como manipular un objeto de un formulario desde otro formulario
Ejemplo.
Tengo un form1 con un label1 con la propiedad visible=.f.
Desde otro form2 quiero mostrar el label1 del form1.
Lo que hacia era algo así:
form1.label1.visible=.T.
El problema esta en el ejecutable que me manda el error de que el objeto "Form1", no existe.
Muchas gracias por tu valiosa ayuda.

3 respuestas

Respuesta
1
Bueno yo lo he hecho tal como tu lo has hecho aunque siempre le pongo nombre a los form por ejemplo frmprincipal y al grabar el form en el disco también lleva el mismo nombre y de ahí hago referencia a ese form mediante frmprincipal y de ahí a cualquier objeto dentro de ese form
Así los tengo con el nombre y nombre de archivo en el disco duro, pero cuando lo corro en visual no hay ningún problema si lo hace bien, pero cuando lo ejecuto me aparece que el objeto no form1 no existe
No sabes como se usa "parameters", creo que es con ese comando.
La verdad es que ya no c ni que hacer
No la clausula parameters no incide en nada, pero intenta cambiando el nombre del formulario tanto en la propiedad NAME y grabándolo en el disco duro con el mismo nombre, haz la prueba que si debe funcionar
El formulario uno tengo las siguientes propiedad
ShowWindows=2.As Top-Level
Si le cambio la propiedad de ShowWindows=1Top-Level si funciona, pero yo necesito que este al tamaño de todo el monitor
pero no veo que tiene que ver esta propiedad con lo que estoy haciendo
Mmm la aplicación debe tener un formulario principal generalmente es donde va el menu y es el único formulario que tiene la propiedad showwindows en 2 los demás llevan la propiedad en 1 porque se ejecutan dentro del formulario principal y eso no incide en el tamaño del form principal ya que puedes usar la propiedad windowstate y ponerla en maximized
Entonces el primer formulario al que llamo debe de ternela propiedad 2 y los demás la propiedad 1.
Ya puse en el windowstate=maximized, pero los formulario me aparecen en una ventana pequeña y solo c ve algo, no se ven completos.
Pero creo que si es por aquí el problema.
Cual es la diferencia entre modal y modelles
mucha gracias por todo tu apoyo me esta sirviendo mucho
Una ventana es modal cuando no se puede acceder a ninguna otra ventana sin salir de la ventana activa
Respuesta
1
A mi me trabaja bien como lo estas haciendo yo ocupo esta función para un teclado tactildonde le paso el objeto y el form donde esta el objeto para que me devuelda el dato a ese objeto el otro form2
DO FORM teclado WITH 'form1','text1'
Y desde allá me manda así
En el init
PARAMETERS formulario, objeto
PUBLIC xform, xobj,valor
xform = formulario
xobj = objeto
valor = ''
Cuando me manda el valor la armo asi
valor1 = VAL(valor)
xy = xform + '.'+ xobj+'.value=' + ALLTRIM(STR(valor1)) + '.00'
&xy
En mi ejemplo me manda números
El problema estaba en que tenia mis formularios declarados como
ShowWindows=2 As TopLevelForm
Pero ya me explicaron que solo uno debe estar en esa propiedad
Pero de todos modos muchas gracias¡
Respuesta
1
El error es porque el objeto form1 no existe o no pertenece al formulario Form2 prueba lo siguiente:
En la propiedad Name del Form1 coloca un nombre por ejemplo FormYB
Crea un botón en el form2
En el evento click del botón coloca
ns=_screen.FormCount
FOR x=1 TO ns
WAIT WINDOW NOWAIT 
formname=UPPER(_screen.Forms(x).name)
WAIT WINDOW FormName
IF FormName=UPPER("Formyb")
_screen.Forms(x).caption="NUEVO FORMULARIO"
_screen.Forms(x).label1.caption="DESDE FORM UNO"
_screen.Forms(x).REFRESH
Endif
Endfor
Muchas gracias, el problema era porque tenia varios formularios declarados como
ShowWindows=2 As TopLevel
Pero obviamente esto no debe ser así, muchas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas