Ver Mensaje Individual
  #6  
Antiguo 06-06-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Reputación: 0
Jere_84 cantidad desconocida en este momento
Cita:
Empezado por luisgutierrezb Ver Mensaje
Bueno, yo detecto varias cosillas, primero:
Código Delphi [-]
vComponente:= TDbEdit(vForm.Components[i]).GetParentComponent; <---- aqui

el parent de un dbedit en un pagecontrol es un TTabSheet, y despues el pagecontrol...
otra, la linea de codigo hace un cast inutil, porque da lo mismo si fuera asi:
Código Delphi [-]
vComponente:= vForm.Components[i].GetParentComponent;
//para que nos regrese el pagecontro, podria ser asi:
vComponente:= vForm.Components[i].GetParentComponent.GetParentComponent; //si doble, para que regrese 2 atras...

yo pienso que el error de la incompatibilidad es en esta linea:

Código Delphi [-]
for a:= 0 to vComponente.Tabs.Count - 1 do

porque vComponente es del tipo Component, no TPageControl, aqui si, hay que hacer el Cast...
Es cierto, vi que el GetParentComponent volvía a tener la misma función dentro y no entendí porque ahora se que es para volver dos atrás muchas gracias.
Encare la función de otra manera la cambie de la siguiente forma:
1º Recorro el Form.
2º Pregunto si el componente es un PageControl.
3º Me paro en en la pagina numero 1, obtengo y recorro los componentes del tabsheet.
Por ultimo recién en ese momento pregunto si el componente es un DbEdit y si esta en null armo un mensaje con su propiedad caption.
Gracias por la respuesta.

Slds.
Responder Con Cita