Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

[VAZA]

FUNCTION e FOR

Recommended Posts

Pessoal,

Eu tenho a seguinte function:

 

#1function T_frmPrincipal.rodaMenu(Menu: TMenuItem): TMenuItem;

#2var

#3 I: Integer;

#4 menuVerificado: TMenuItem;

#5begin

#6 for I := 0 to Menu.Count - 1 do

#7 begin

#8 menuVerificado := Menu.Items;

#9 if menuVerificado.Tag = _DM1._cdsMenu.FieldByName('idpai').AsInteger then

#10 begin

#11 result := menuVerificado;

#12 break;

#13 end;

#14 rodaMenu(menuVerificado);

#15 end;

#16end;

 

O que acontece ai, eu chamo a mesma função dentro dela, na linha 14.

Caso a minha verificação esteja correta, a function volta o TMenuItem na linha 11 e na linha 12, eu dou um break que sai do for.

Só que o for anterior continua e retornará um result vazio.

Como faço para parar todos os os "FOR", para que minha function volte um TMenuItem e nao nil?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi por que você chama a função novamente.

Em teoria para que a função sempre devolva um valor, basta manter a estrutura com está mas não chamar novamente a função.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também não entendi muito bem, mas se foi o que imaginei aqui, um comando 'exit;' no lugar de 'break;' deve resolver seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.