PDA

Ver la Versión Completa : Pequeña Duda


fjardelphi
02-05-2004, 21:22:26
Hola. Estoy empezando a trabajar con Delphi y OOP y tengo un pequeño problema que espero alguien pueda aclararmen.
Tengo una aplicación con dos fichas, una principal y otra dialogo.
En la principal tengo un componente Tedit llamado total y necesito su valor en la ficha dialogo. La manera en la que intento acceder es:

wndPrincipal.total.text pero me da un error.

Saludos y gracias.

roman
02-05-2004, 21:52:45
Hola fjardelphi, qué bueno que te inicies en Delphi y te doy la bienvenida a los foros. Déjame comentarte algunos puntos que redundarán en tu propio beneficio para sacar el máximo provecho de tus participaciones.

Un título como "Pequeña duda" es poco adecuado ya que no indica nada acerca de la naturaleza de tu inquietud.

También es importante que especifiques algo más. Una frase como

"wndPrincipal.total.text pero me da un error"

no ayuda a quienes podrían resolver tu duda. Hay muchas causas por las que puede generarse un error y tener los detalles del tipo de error incluido el texto exacto acotarán las posiblidades siendo más fácil ayudarte.

Este tipo de lineamientos puedes encontrarlos en la guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php) del Club, misma que te invito a leer.

En otro tenor de cosas e independientemente de la causa del error te comento que en general no es buena idea que un formulario haga referencia directa a componentes en otros formularios ya que va contra el buen uso de la encapsulación. Además, salvo requerimientos muy particulares, un cuadro de diálogo no debe referirse, directa o indirectamente al formulario que lo llama. Piensa en un cuadro de diálogo como el de "Abrir archivo". Este cuadro no tiene noción alguna de quien lo llama ni como y debido a ello es que es tan útil y versátil. En tu caso, si el diálogo requiere algún valor inicial lo recomendable es que utilices propiedades. Defines una propiedad pública en tu cuadro de diálogo que llenas desde el formulario principal antes de llamar a ShowModal. El cuadro de diálogo dispondrá entonces de este valor al momento de mostrarse y lo utilizará internamente en la forma que le convenga.

// Saludos