ReportBuild
23/12/2023
0
Pessoal estou utilizando Delphi 11 com ReportBuild , ao utilizar Groups , esta dando esse erro "List index out of bounds(32)". Alguém poderia me ajudar
Wilke Maia
Curtir tópico
+ 0
Responder
Post mais votado
25/12/2023
Pessoal estou utilizando Delphi 11 com ReportBuild , ao utilizar Groups , esta dando esse erro "List index out of bounds(32)". Alguém poderia me ajudar
O erro "List index out of bounds(32)" significa que você está tentando acessar um índice de uma lista que está fora do intervalo válido. No caso específico do ReportBuilder, isso pode acontecer se você estiver tentando acessar um grupo que não existe.
Para resolver esse erro, verifique se você está usando o grupo correto. Você pode fazer isso usando o método GroupIndex da classe TfrxReport. Esse método retorna o índice do grupo atual.
Se você estiver usando o grupo correto, verifique se o grupo contém dados. Você pode fazer isso usando o método Count da classe TfrxGroup. Esse método retorna o número de registros no grupo.
Se o grupo estiver vazio, você não poderá acessar nenhum de seus registros.
Aqui está um exemplo de como verificar se você está usando o grupo correto:
// Verifica se o grupo "Grupo1" está ativo
if frxReport.GroupIndex = frxReport.Groups["Grupo1"].GroupIndex then
begin
// O grupo "Grupo1" está ativo
end
else
begin
// O grupo "Grupo1" não está ativo
end
if frxReport.GroupIndex = frxReport.Groups["Grupo1"].GroupIndex then
begin
// O grupo "Grupo1" está ativo
end
else
begin
// O grupo "Grupo1" não está ativo
end
Aqui está um exemplo de como verificar se o grupo contém dados:
// Verifica se o grupo "Grupo1" contém dados
if frxReport.Groups["Grupo1"].Count > 0 then
begin
// O grupo "Grupo1" contém dados
end
else
begin
// O grupo "Grupo1" não contém dados
end
if frxReport.Groups["Grupo1"].Count > 0 then
begin
// O grupo "Grupo1" contém dados
end
else
begin
// O grupo "Grupo1" não contém dados
end
Se você tiver verificado todas essas coisas e ainda estiver recebendo o erro, pode ser um problema com o código do seu relatório. Nesse caso, você precisará fornecer mais informações sobre o seu código para que eu possa ajudá-lo a resolver o problema, é isso, Wilker.
P3rm4tr1p
Responder
Mais Posts
25/12/2023
Wilke Maia
Pessoal estou utilizando Delphi 11 com ReportBuild , ao utilizar Groups , esta dando esse erro "List index out of bounds(32)". Alguém poderia me ajudar
O erro "List index out of bounds(32)" significa que você está tentando acessar um índice de uma lista que está fora do intervalo válido. No caso específico do ReportBuilder, isso pode acontecer se você estiver tentando acessar um grupo que não existe.
Para resolver esse erro, verifique se você está usando o grupo correto. Você pode fazer isso usando o método GroupIndex da classe TfrxReport. Esse método retorna o índice do grupo atual.
Se você estiver usando o grupo correto, verifique se o grupo contém dados. Você pode fazer isso usando o método Count da classe TfrxGroup. Esse método retorna o número de registros no grupo.
Se o grupo estiver vazio, você não poderá acessar nenhum de seus registros.
Aqui está um exemplo de como verificar se você está usando o grupo correto:
// Verifica se o grupo "Grupo1" está ativo
if frxReport.GroupIndex = frxReport.Groups["Grupo1"].GroupIndex then
begin
// O grupo "Grupo1" está ativo
end
else
begin
// O grupo "Grupo1" não está ativo
end
if frxReport.GroupIndex = frxReport.Groups["Grupo1"].GroupIndex then
begin
// O grupo "Grupo1" está ativo
end
else
begin
// O grupo "Grupo1" não está ativo
end
Aqui está um exemplo de como verificar se o grupo contém dados:
// Verifica se o grupo "Grupo1" contém dados
if frxReport.Groups["Grupo1"].Count > 0 then
begin
// O grupo "Grupo1" contém dados
end
else
begin
// O grupo "Grupo1" não contém dados
end
if frxReport.Groups["Grupo1"].Count > 0 then
begin
// O grupo "Grupo1" contém dados
end
else
begin
// O grupo "Grupo1" não contém dados
end
Se você tiver verificado todas essas coisas e ainda estiver recebendo o erro, pode ser um problema com o código do seu relatório. Nesse caso, você precisará fornecer mais informações sobre o seu código para que eu possa ajudá-lo a resolver o problema, é isso, Wilker.
Amigo obrigado pela ajuda , poderia me dizer , em qual evento do ReportBuild , poderia testar essa condição?
Responder
26/12/2023
ɐɾǝɹƃi
Pessoal estou utilizando Delphi 11 com ReportBuild , ao utilizar Groups , esta dando esse erro "List index out of bounds(32)". Alguém poderia me ajudar
O erro "List index out of bounds(32)" significa que você está tentando acessar um índice de uma lista que está fora do intervalo válido. No caso específico do ReportBuilder, isso pode acontecer se você estiver tentando acessar um grupo que não existe.
Para resolver esse erro, verifique se você está usando o grupo correto. Você pode fazer isso usando o método GroupIndex da classe TfrxReport. Esse método retorna o índice do grupo atual.
Se você estiver usando o grupo correto, verifique se o grupo contém dados. Você pode fazer isso usando o método Count da classe TfrxGroup. Esse método retorna o número de registros no grupo.
Se o grupo estiver vazio, você não poderá acessar nenhum de seus registros.
Aqui está um exemplo de como verificar se você está usando o grupo correto:
// Verifica se o grupo "Grupo1" está ativo
if frxReport.GroupIndex = frxReport.Groups["Grupo1"].GroupIndex then
begin
// O grupo "Grupo1" está ativo
end
else
begin
// O grupo "Grupo1" não está ativo
end
if frxReport.GroupIndex = frxReport.Groups["Grupo1"].GroupIndex then
begin
// O grupo "Grupo1" está ativo
end
else
begin
// O grupo "Grupo1" não está ativo
end
Aqui está um exemplo de como verificar se o grupo contém dados:
// Verifica se o grupo "Grupo1" contém dados
if frxReport.Groups["Grupo1"].Count > 0 then
begin
// O grupo "Grupo1" contém dados
end
else
begin
// O grupo "Grupo1" não contém dados
end
if frxReport.Groups["Grupo1"].Count > 0 then
begin
// O grupo "Grupo1" contém dados
end
else
begin
// O grupo "Grupo1" não contém dados
end
Se você tiver verificado todas essas coisas e ainda estiver recebendo o erro, pode ser um problema com o código do seu relatório. Nesse caso, você precisará fornecer mais informações sobre o seu código para que eu possa ajudá-lo a resolver o problema, é isso, Wilker.
Amigo obrigado pela ajuda , poderia me dizer , em qual evento do ReportBuild , poderia testar essa condição?
São várias, OnBeforeGroupStart, OnAfterGroupStart, OnBeforeGroupEnd
Por exemplo, você pode usar o evento OnBeforeGroupStart para verificar se o grupo existe e, se não existir, exibir uma mensagem de erro:
procedure TForm1.ReportBuildOnBeforeGroupStart(Sender: TObject; Group: TfrxGroup); begin // Verifica se o grupo existe if not ReportBuild.Groups.Exists(Group.Name) then begin // O grupo não existe ShowMessage("O grupo '" + Group.Name + "' não existe"); end; end;
Ou, você pode usar o evento OnAfterGroupStart para verificar se o grupo existe e, se existir, inicializar alguns valores para o grupo:
procedure TForm1.ReportBuildOnAfterGroupStart(Sender: TObject; Group: TfrxGroup); begin // Verifica se o grupo existe if ReportBuild.Groups.Exists(Group.Name) then begin // O grupo existe // Inicializa alguns valores para o grupo Group.FieldValue("Total") := 0; end; end;
A escolha do evento depende da sua necessidade específica.
Responder
Clique aqui para fazer login e interagir na Comunidade :)