[firebase-br] DELPHI 7 X FIREBIRD 1.5 X DBEXPRESS - off topic
    Rodrigo - Alma Informática Ltda 
    desenv28 em almainformatica.com.br
       
    Seg Abr 18 11:11:39 -03 2005
    
    
  
Amigos,
Estou desenvolvendo uma rotina no delphi para pegar automaticamente pra mim
os nomes dos índice e jogar num radiogrup num formulário para que o usuário
selecione por qual ordenação ele deseja fazer, desde pesquisa ate
relatórios.
Só que chega num determinado ponto da rotina a mesma da o seguinte erro :
    tbquery : índice de campo fora de faixa
o código e este abaixo :
procedure TForm1.FormShow(Sender: TObject);
var
  Counter, AtualFld, CountFld : Integer;
  FldIndex                      : String;
begin
  with tbQuery do
  begin
    if (IndexNames <> Nil) and (IndexNames.Count > 0) then
    begin
       CountFld := IndexNames.Count;
    end
    else
    begin
       IndexDefs.Update;
       CountFld := Min(4, IndexDefs.Count);
    end;
    TypeIndex := IndexFieldNames <> '';
    SaveBookMark := GetBookMark;
    if TypeIndex then
       OldIndex := IndexFieldNames
    else
       OldIndex := IndexName;
     for Counter := 0 to CountFld-1 do
     begin
     tbquery.Active := false;
       if (IndexNames <> Nil) and (IndexNames.Count > 0) then
          IndexName := IndexNames[Counter]
       else
          IndexName := IndexDefs[Counter].Name;
        { Get Field's Index }
        if Counter < 9 then
           FldIndex := '&' + IntToStr(Counter+1) + '. '
        else
           FldIndex := '&' +  chr(90 + (9 - Counter)) + '. ';
         AtualFld := 0;
        tbquery.Active := true;
o erro da aqui nesta linha de comando
//
          if ((IndexFields[AtualFld].FieldName = 'FAZENDA') and
              (tbQuery.Name <> 'TBFAZENDA') and (tbQuery.Name <>
'TBCRIADOR')) or
             (IndexFields[AtualFld].FieldName = 'FAZENDADOADORA') then
            Inc(AtualFld);
//
        FldIndex := FldIndex + IndexFields[AtualFld].DisplayName; //
DisplayLabel;
        rgOrder.Items.Add(FldIndex);
     end;
     rgOrder.ItemIndex := 0;
     tbquery.Active := false;
     if TypeIndex then
       IndexFieldNames := OldIndex
     else
       IndexName := OldIndex;
     { Abre por Default na Segunda Chave - Geralmente de Descricao }
     if CountFld > 1 then
     begin
       rgOrder.ItemIndex := 1;
       if IndexNames <> nil then
          IndexName := IndexNames[1]
       else
          IndexName := IndexDefs[1].Name;
     end;
     tbquery.Active := true;
       MasterSource := MasterSource;
  end;
end;
obs : estou utilizando componentes dbexpress
Se alguém puder me ajudar ficarei grato.
Abraço a todos,
Rodrigo
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas:
http://search.gmane.org/search.php?group=rebase
    
    
Mais detalhes sobre a lista de discussão lista