Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error en treeview (https://www.clubdelphi.com/foros/showthread.php?t=63353)

Tauro78 10-02-2009 19:44:50

Error en treeview
 
hola, quisiera saber si me pueden ayudar en lo siguiente:

estructura:

-empresas
--altas
--bajas
--modificaciones
--consultas
-camiones
--altas
--basja
--etc

tengo en el form principal un treeview y cuando hago click en cada hoja se despliega la pantalla correspondiente; todo fuciona bien hasta que llego a la parte de -camiones--altas.
Aqui me salta el error:

"Project Camiones.exe raised exception class ETreeViewError with message.
List index out of bounds (0)".

Código Delphi [-]
 
procedure TMainForm.TreeView1Click(Sender: TObject);
begin
  if TreeView1.Items[0].Item[0].Selected then
    begin
      frmEmpresasAltas := TfrmEmpresasAltas.Create(Self);
      try
        frmEmpresasAltas.ShowModal;
      finally
        frmEmpresasAltas.Free;
      end;
    end
      else
        if TreeView1.Items[0].Item[1].Selected then
          begin
            frmEmpresasBajas := TfrmEmpresasBajas.Create(Self);
            try
              frmEmpresasBajas.ShowModal;
            finally
              frmEmpresasBajas.Free;
            end;
          end
            else
              if TreeView1.Items[0].Item[2].Selected then
                begin
                  frmEmpresasModificaciones := TfrmEmpresasModificaciones.Create(Self);
                  try
                    frmEmpresasModificaciones.ShowModal;
                  finally
                    frmEmpresasModificaciones.Free;
                  end;
                end
                  else
                    if TreeView1.Items[0].Item[3].Selected then
                      begin
                        //se usaran para consultas
                      end
                        else
                          if TreeView1.Items[1].Item[0].Selected then
                            begin
                              frmCamionesAltas := TfrmCamionesAltas.Create(Self);
                              try
                                frmCamionesAltas.ShowModal;
                              finally
                                frmCamionesAltas.Free;
                              end;
                            end;

desde ya gracias.

roman 11-02-2009 03:51:35

Hola,

El problema es que TreeView1.Items[1] no es quien tú piensas que es. La propiedad Items del TreeView lista todos los nodos del árbol secuencialmente, de manera que TreeView1.Items[1] no es el nodo correspondiente a Camiones, sino a altas (pruébalo tu mismo haciendo un ShowMessage(TreeView1.Items[1].Text)).

// Saludos


La franja horaria es GMT +2. Ahora son las 21:23:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi