Array
(
)

Problema de Stack Overflow! Como resolver????

Eniorm
   - 15 mar 2006

Pessoal, vejam o codigo abaixo:


#Código

procedure TForm1.Reposiciona(ParentPanel: TWinControl; XPBar: TJvXPbar);
var
i : integer;
begin
for i := 0 to ComponentCount -1 do
if (Components[i].ClassType = TJvXPBar) then
if (TJvXPBar(Components[i]).Parent = ParentPanel) then
TJvXPBar(Components[i]).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:

#Código
Reposiciona( (Sender as TJvXPBar).Parent, (Sender as TJvXPBar) );


ou

#Código
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


Siam
   - 15 mar 2006

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


0
|
0

Eniorm
   - 15 mar 2006

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


0
|
0

Siam
   - 15 mar 2006

A chamada à Reposiciona está dentro de algum evento ?


0
|
0