PDA

Ver la Versión Completa : modificar un componente de un child desde una ventana normal


advancexz
07-12-2008, 03:11:41
en mi aplicacion tengo un child que llama a una ventana y esta a su vez manda llamar a un child mas, al cual despues de mostrarlo modifica algunos de sus componentes, como por ejemplo, los deshabilita, les cambia los captions, etc. en el momento en el que deshabilita el primer boton PUM!! me manda un access violation at address 'bla bla' in module 'miaplicacion.exe'

que puedo hacer para modificar estos componentes del child desde mi ventana??

la ventana manda llamar a un procedure del child, el cual a su vez hace todo lo demas...

gracias

IgnacioHaro
09-12-2008, 00:18:49
una pregunta, la ventana normal que dices la abres con showModal ??

si es asi te podria marcar error porq tu aplicacion se detiene cuando esa ventana esta mostrandose y tratas de ejecutar un procedure del child

advancexz
09-12-2008, 01:34:07
no, no es modal, la abro con show. Yo tenia entendido que directamente no se puede modificar el componente de una ventana en el codigo de otra ventana, pero si se podia si se llamaba a un procedure de la ventana a modificar y este a su vez hacia todo el trabajo... pero me marca error

(MAJ)
17-12-2008, 03:30:16
en que evento es en el que vos haces las modificaciones, porque eso tiene que ver tambien porque si es en el oncreate creo que no se puede, tendrias que probar en el onshow
espero tu respuesta

Delphius
17-12-2008, 03:48:45
¿Podríamos ver una muestra de lo que haces?

El error "Access Violation" sucede, por lo general, cuando se intenta acceder a un objeto que fue liberado. ¿Por casualidad creas y/o destruyes componentes en ejecución?

¿Cuando cierras los forms Child, en el evento OnClose, alteras el valor de Action a caFree? Doy por supuesto que estamos ante un caso de aplicación MDI, por lo de Child.

Sin saber y ver lo que estás haciendo va a ser muy difícil que encontremos la solución. Podríamos seguir tirando ideas, pero seguiríamos en la misma: adivinando.

Por otro lado, se puede acceder a los controles de otro form siempre y cuando se añada en uses la unidad correspondiente y cuya visibilidad sea pública y/o esté en la sección interface.

Saludos,