Problema de Stack Overflow! Como resolver????

15/03/2006

Pessoal, vejam o codigo abaixo:


procedure TForm1.Reposiciona(ParentPanel: TWinControl; XPBar: TJvXPbar);
var
  i : integer;
begin
  for i := 0 to ComponentCount -1 do
    if (Components[i&93;.ClassType = TJvXPBar) then
      if (TJvXPBar(Components&91;i&93;).Parent = ParentPanel) then 
        TJvXPBar(Components&91;i&93;).Collapsed := True;
  XPBar.Collapsed := False;
end;


os menus (JvXPBar) estão dentro de TPanels separados
por categorias (clientes, fornecedores, relatórios, etc)
qdo um menu for clicado, todos os outros deverão ser
fechados (collapsed = true) e somente o indicado como parâmetro
deverá ficar aberto (collapsed = false)

para chamar o procedimento eu uso:

Reposiciona( (Sender as TJvXPBar).Parent, (Sender as TJvXPBar) );


ou

Reposiciona(Panel3, JvXPBar1);
 


esse proc ao ser executado está gerando erro de Stack Overflow, alguém sabe me dizer se tem algo de errado????

bye


Eniorm

Respostas

15/03/2006

Siam

Stack overflow deve estar ocorrendo no número de chamadas à procedure Reposiciona e não dentro dela.


Responder Citar

15/03/2006

Eniorm

o problema é q eu só fiz uma chamada e da erro!


Responder Citar

15/03/2006

Siam

A chamada à Reposiciona está dentro de algum evento ?


Responder Citar