Fórum list index out of bounds??? #179758

04/09/2003

0

Bom Dia!

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

Marcao

Responder

Posts

04/09/2003

Joilson_gouveia

[b:19839a79d3]coluna:=cep_pesquisa_frm.dbgrid1.selectedindex; [/b:19839a79d3]
....
[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...


Responder

Gostei + 0

04/09/2003

Vinicius2k

marcao,
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...


Responder

Gostei + 0

04/09/2003

Marcao

vinicius2K,

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.


Responder

Gostei + 0

04/09/2003

Vinicius2k

marcao,
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+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar