Ver la Versión Completa : Error (List Index of bounds)?
DM2005
08-07-2006, 04:57:35
Hola a todos, volviendo a utilizar un poco de ayuda, necesitaria saber pq en mi aplicacion tengo el siguiente error cuando hago doble clique sobre m ListBox:
" List Index of bounds (-1) "
esta es mi procedure:
procedure TFormForm01.FormCreate(Sender: TObject);
begin
ListBox1.Items.LoadFromFile('C:\teste\IPCapitulo.txt');
end;
procedure TFormForm01.ListBox1DblClick(Sender: TObject);
begin
Panel2.Visible := True;
begin
Panel2.Caption := ListBox1.Items.Strings[ListBox1.ItemIndex];
end;
end;
gracias y hasta pronto...
madriles
08-07-2006, 09:52:01
hola
el codigo tal como lo pones funciona perfectamente, no hay ningun error, te pongo la prueba que he hecho
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Items.LoadFromFile('C:\hola.txt');
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
Panel1.Visible := True;
begin
Panel1.Caption := ListBox1.Items.Strings[ListBox1.ItemIndex];
end;
end;
end.
no se de donde te puede venir el fallo, aunque supongo que puede estar en el texto que quieres cargar, revisalo y nos cuentas
un saludo
Hola,
El código fuente que refieres es correcto salvo por el detalle que el error muestra: el índice requerido (el elemento de la lista requerido) puede no existir, por ejemplo, porque puedes hacer "doble-clic" en la lista sin que ningún elemento de la misma esté seleccionado.
Tú no estás comprobando ese detalle y de ahí el problema. ¿Cómo comprobarlo? Bueno. Una solución podría ser:
procedure TFormForm01.ListBox1DblClick(Sender: TObject);
begin
if ListBox1.ItemIndex <> -1 then
begin
Panel2.Visible := True;
Panel2.Caption := ListBox1.Items.Strings[ListBox1.ItemIndex];
end;
end;
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.