Llamar a un listbox desde un formulario a otro

Necesito saber como puedo llamar a un listbox o un textbox desde form2 a form1 para
Poder utilizarlo. Estuve viendo pero el código que tengo es:
form2.listbox.show;  
Este código lo pongo en un botón en el form1 para ver si aparece en este y poder utilizarlo.
Pero cuando le doy al botón el listbox que esta en otro form (form2) no aparece.

2 Respuestas

Respuesta
1
Hasta donde yo sé (que no es mucho por lo que veo) los formularios son entidades independientes y encapsuladas, por lo que los objetos contenidos en las mismas no pueden ser referenciados directamente más que por el formulario que los contiene.
Eso sí, puedes referenciarlos indirectamente, en tu caso deberías declarar otro listbox en tu form1, y pasarle los items del form2, no estoy seguro del código porque no lo he probado (tempus fugit), qué tal:
form1.lixbox1.items:=form2.listbox1.items;
?
Si no rula que sepas que el camino es ese, o bien recorriendo el array (arreglo) de elementos del segundo list y pasándolos al primero o usando una función al estilo del ejemplo que te he dado pero que funcione.
Repito no lo he probado y no aseguro que funcione, pero esa es la solución que puedo aportar.
Gracias por explicarme, entendí con el ejemplo que tengo que referenciar desde un form a otro los elementos para llamarlos. Gracias por tu tiempo
Respuesta
1
La verdad no se que quieres hacer, ùes no se que objeto tine que llames solo un componente desde una forma a otra, pues se necesitas u componente de otra form, ineludiblemete debes llamar a la otra form,
si estas en form1 y deseas llamar ala form2 usas :
form2.showmodal;
Checas y cierras el evento modal en la form2 y procedes a leer el list de la form 2, ahora si tu quieres realizar form especificas de uso general debes crear funciones con form, y usarlas como tal, cuidando siempre tus recursos de memoria y error.
Ejemplo
function getanumer( ^myNumer as singll): boolean
var
xnumer :single
xstrnum:string
begin
try
getanum:=false
xstrnum:=inputbox('inserte un numero','nuevo numero',0)
val(xstrnum,xnum)
getanum:=true
finally
end
end;
Esta función toma un numero desde un caja, si sucede "true" la transacción se realizo con éxito, sino hubo error pero el usuario no se percada de ello.
Éxitos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas