Ir al contenido


Foto

No encuentro componente anidado en IWRegion


  • Por favor identifícate para responder
4 respuestas en este tema

#1 slimfast

slimfast

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 15 septiembre 2012 - 01:55

Hola foro, tengo el siguiente problema: Estoy creando componente iwcheckbox dentro de un IWREGION de IntraWeb del Delphi 2006 en tiempo de ejecución y se crean bien, sin embargo cuando trato de recuperar o identificar si el componente recién creado está como seleccionado (checked = true) no lo encuentro, estoy ocupando el FindComponent()

Así los creo:



delphi
  1.            
  2.             cb2 := TIWCheckBox.create(nil);         
  3.             cb2.name := 'IWCheckBox'+IntToStr(i);
  4.             cb2.FriendlyName := 'IWCheckBox'+IntToStr(i);
  5.             cb2.Caption :='Cadena_'+IntToStr(i);
  6.             cb2.Tag    := i;
  7.             cb2.Visible := True;
  8.             cb2.Checked := True;
  9.             cb2.Parent := IWRegion8;
  10.             cb2.Align := alTop;



Y así trato de recuperarlos:

   

delphi
  1.           For x:= 0 to IWRegion8.ComponentCount - 1 do Begin
  2.           If (IWRegion8.FindComponent('IWCheckBox'+IntToStr(x)) <> Nil) then Begin
  3.               cb := TIWCheckBox(Components[x]);
  4.               if cb.Checked then
  5.                   cadena := cadena+IntToStr(cb.Tag)+',';
  6.           End;
  7.     End;



He intentado agregar el Self a IWRegion8 pero tampoco lo encuentra. ¿alguna sugerencia o qué es lo que me está faltando para que pueda encontrar el componente? El objeto IWRegion8 está anidado de la siguiente forma: IWForma-IWRegion1-IWRegion5-IWRegion8

De antemano muchas gracias.
  • 0

#2 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 15 septiembre 2012 - 11:55

Buenas,

Así, sin probarlo y sin conocer Intraweb, ¿puede ser porque no le estás asignando Owner (al constructor le pasas un nil)?

Nos leemos

  • 0

#3 slimfast

slimfast

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 15 septiembre 2012 - 01:03

Gracias por responder, lo probaré pasando el owner al crearlo, aviso de la prueba.
  • 0

#4 slimfast

slimfast

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 15 septiembre 2012 - 01:40

Efectivamente Cadetill, el problema era al momento de crear el iwchekbox, lo creaba con nil ( TIWCheckBox.create( nil ); ) en lugar de pasarle el owner que lo contendría, al final quedó así:

 

delphi
  1. cb2 := TIWCheckBox.create(IWRegion8);



Te agradezco mucho, ayer estuve quebrándome la cabeza y nada que salía!!!  (y)
  • 0

#5 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 15 septiembre 2012 - 01:56

Un placer haberte podido ayudar

Nos leemos
  • 0




IP.Board spam blocked by CleanTalk.