Ver Mensaje Individual
  #4  
Antiguo 25-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No entiendo bién a que te referis, pero a ver si puedo explicarme mejor:

La función 'ExisteCtrl' (o el nombre que le des) recorre todos los componentes del form verificando que el componente exista (haya sido creado) y devuelve True si es así. Caso contrario devuelve False.

Como en la creación del TCheckListBox le asignas el nombre de este modo:
Código Delphi [-]
  cajas.Name := combobox1.Text;
Antes de dicha creación deberías verificar:
Código Delphi [-]
 
  if ExisteCtrl(combobox1.Text) then 
  ...

Agregándola a tu código inicial sería:
Código Delphi [-]
procedure TfrmVentas.Button1Click(Sender: TObject);
begin
  if not ExisteCtrl(ComboBox1.Text) then     // si no existe el componente
  begin
    cajas := tchecklistbox.Create(frmventas);  // crearlo
    cajas.Top := 10;
    cajas.Left := 10;
    cajas.Height := 300;
    cajas.Width := 300;
    cajas.Parent := pagecontrol1;
    cajas.Name := combobox1.Text;
    cajas.Items.Add('el nombre es:'+cajas.Name);
    cajas.Items.Add(combobox1.Text);
    cajas.DragKind := dkDock;
    cajas.DragMode := dmAutomatic;
   end
   else  // el componente existe,
          // aquí la accion que decidas tomar 
          // o ninguna en cuyo caso sobraría 'else'
end;

Un saludo.

Edito: No había visto tu último comentario:
Cita:
Añado: que estoy creando los checklistbox en modo ejecucion, en ese caso como se deberia validar si esta o no esta? con la funcion que me diste?
Si, asi es Bernardo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita