Fórum list index out of bounds??? #179758
04/09/2003
0
Voce poderia me dizer o porque desse erro?, ai vai um pedaço do código.
Valeu!
***
procedure TEmpresas_Frm.Simples1Click(Sender: TObject);
var i, coluna : integer;
begin
coluna:=cep_pesquisa_frm.dbgrid1.selectedindex;
dmc.IBQuery2.Active:=false;
dmc.IBQuery2.SQL.Clear;
dmc.IBQuery2.SQL.Add(´select * from cadcep ´);
dmc.IBQuery2.SQL.Add(´order by ´+cep_pesquisa_frm.DBGrid1.Columns[coluna].Field.Origin);
dmc.IBQuery2.Active:=true;
for i :=0 to (cep_pesquisa_frm.dbgrid1.columns.count-1) do
begin
cep_pesquisa_frm.DBGrid1.Columns[i].Title.Font.Color:=clblack;
end;
cep_pesquisa_frm.DBGrid1.Columns[coluna].Title.FONT.COLOR:=CLRED;
end;
end.
Marcao
Curtir tópico
+ 0Posts
04/09/2003
Joilson_gouveia
....
[b:19839a79d3]cep_pesquisa_frm.DBGrid1.Columns[coluna].Title.FONT.COLOR:=CLRED; [/b:19839a79d3]
A Variável COLUNA acima recebeu o valor da LINHA (SelectIndex) e em algum momento será MAIOR que a quantidade de Colunas do DBGrid...
Quando isso acontece, dá o erro de Estouro de Indíces...
Gostei + 0
04/09/2003
Vinicius2k
SelectedIndex estah correto... esta propriedade retorna ou atribui o indice da COLUNA...
tente isolar para ver se erro estah ocorrendo passagem das strings para a query ou na atribuição de cores para os títulos...
apenas para efeito de teste, tente substituir :
[color=blue:008abb55c4]dmc.IBQuery2.SQL.Add(´order by ´+cep_pesquisa_frm.DBGrid1.Columns[coluna].Field.Origin); [/color:008abb55c4]
por
[color=blue:008abb55c4]dmc.IBQuery2.SQL.Add(´order by ´+cep_pesquisa_frm.DBGrid1.Columns[coluna].FieldName); [/color:008abb55c4]
espero ter ajudado...
Gostei + 0
04/09/2003
Marcao
Mudei a linha mas o erro continua o mesmo, mesmo assim agradeço sua atenção, se você descobrir, me avise.., oracic@iconet.com.br,
obrigado.
Gostei + 0
04/09/2003
Vinicius2k
faça o seguinte teste :
logo após atribuir o valor para var coluna
showmessage(IntToStr(coluna));
se a mensagem for ´-1´ o problema eh com ela e teremos q descobrir o motivo...
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)