MessageBox(handle,'Nada foi selecionado para excluir !'+#13+'Selecione o que você deseja excluir, para depois clicar em apagar.','NADA HÁ PARA EXCLUIR',MB_IconExclamation);
Abort;
end;
Resposta:= MessageBox(Handle,'Você tem certeza, que deseja excluir este item ?'+#13+'A senha correspondente também será excluída. ','ESTE ITEM SERÁ EXCLUÍDO !',MB_ICONQUESTION + MB_YESNO);
If Resposta = IDYES Then
If lstSenhas.ItemIndex > -1 Then
begin
lstSenhas.Items.Delete(lstSenhas.ItemIndex);(AQUI DÁ O ERRO)
Messagebox(handle,'O item escolhido foi apagado com sucesso ! ','OPERAÇÃO EFETUADA',MB_IconInformation);
Messagebox(handle,'Um erro inesperado ocorreu.'+#13+'Por favor, entre em contato com o desenvolvedor do software e relate o fato. ','ERRO',MB_IconStop);
end;
end;
O ERRO APARECE NA LINHA
lstSenhas.Items.Delete(lstSenhas.ItemIndex);(AQUI DÁ O ERRO)
O erro diz que
Exception class EstringListError with message 'list index out of bounds(-1)'
Pergunta
Paulo Nobre
Alguém poderia dar uma lida neste código e me ajudar dizendo porque está dando erro?
lstSenhas significa um listbox
o que eu estou fazendo ai em baixo é apagando um item do lisbox e apagando o correspondente no registro
procedure TfrmApagarCadastrados.cmdDeletarClick(Sender: TObject);
Var
Resposta: Integer;
Registro: String;
begin
try
If lstSenhas.ItemIndex = -1 Then
begin
MessageBox(handle,'Nada foi selecionado para excluir !'+#13+'Selecione o que você deseja excluir, para depois clicar em apagar.','NADA HÁ PARA EXCLUIR',MB_IconExclamation);
Abort;
end;
Resposta:= MessageBox(Handle,'Você tem certeza, que deseja excluir este item ?'+#13+'A senha correspondente também será excluída. ','ESTE ITEM SERÁ EXCLUÍDO !',MB_ICONQUESTION + MB_YESNO);
If Resposta = IDYES Then
If lstSenhas.ItemIndex > -1 Then
begin
lstSenhas.Items.Delete(lstSenhas.ItemIndex);(AQUI DÁ O ERRO)
Messagebox(handle,'O item escolhido foi apagado com sucesso ! ','OPERAÇÃO EFETUADA',MB_IconInformation);
lstSenhas.Items.SaveToFile(ExtractFilePath(application.ExeName)+'\SENHAS.txt');
Registro:= lstSenhas.Items.Strings[lstSenhas.itemIndex];
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.Openkey('SOFTWARE\NOBRE INFORMÁTICA\SENHAS',True);
reg.DeleteValue(Registro);
reg.CloseKey;
end
Else
//Não faz nada
except
If lstSenhas.ItemIndex = -1 Then
//Não faz nada
Else
Messagebox(handle,'Um erro inesperado ocorreu.'+#13+'Por favor, entre em contato com o desenvolvedor do software e relate o fato. ','ERRO',MB_IconStop);
end;
end;
O ERRO APARECE NA LINHA
lstSenhas.Items.Delete(lstSenhas.ItemIndex);(AQUI DÁ O ERRO)
O erro diz que
Exception class EstringListError with message 'list index out of bounds(-1)'
obrigado
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados