Nice catch... you should send it to pcsoft and tell them that
recursivity is not supported :-)
The good thing is that I don't use the groupware, I have my own set of
classes for this kind of things, and I don't use recursivity :-)
Fabrice
BLS wrote:
> Hi Fabrice
>
> Code is part of : User GroupWare / GPWDetailConfiguration;
>
> PROCEDURE RemplirTous(sParent)
>
> // Premier champ de la fenêtre
> sNomChamp est une chaîne=EnumèreSousElément(sParent,enumPremier)
> TANTQUE sNomChamp<>""
>
> // nom complet du champ
> sNomComplet est une chaîne=sParent+"."+sNomChamp
> // récupération du type de l'élément
> nType est un entier={sNomComplet,indGPW}..Type
>
> // si c'est un groupe de champs ou un onglet
> SI nType=typOnglet OU nType=typTable OU nType=typBarreOutils OU
> nType=typBoîteAOutils OU nType=TypFenetreInterneSource ALORS
>
>
> // énumération des champs qui sont à l'interieur
> RemplirTous(sNomComplet) // LOOK MA, I AM A RECURSIVE!!
> ========================================================
> .............
>
>
> Kind regards, Bjoern
>
> Fabrice Harari schrieb:
>> Hi Bjoern
>
>> Actually, it wont... It's stacked CALLS (ie window open, procedure
>> calss, etc)
>>
>> Controls are not in that stack at all
>>
>> Best regards
>>
>> Fabrice
>>
>>
>>
>>> Erm ... I think "old school" Pascal/Modula have nearly the same limits.
>>> Kind regards, Bjoern
>>>
>>>
>>>> BLS wrote:
>>>>> Fabrice Harari schrieb:
>>>>>> Hi Everybody...
>>>>>>
>>>>>> Just my 2 cents... Recursivity is NOT supported in WLanguage (current
>>>>>> limit is 600 stacked calls, if I'm not mistaken), so you better code
>>>>>> this kind of things in a loop instead
>>>>>>
>>>>>> Best regards
>>>>>>
>>>>> Bonjour Fabrice,
>>>>> long time no see ...
>>>>>
>>>>> Hell you are right :
>>>>> PROCEDURE OverFlow(LOCAL _newVal is int = 0, _iterations is unsigned int
>>>>> = 500)
>>>>> newval is int = _newVal
>>>>> IF newval < _iterations THEN
>>>>> newval++
>>>>> OverFlow(newval)
>>>>> ELSE
>>>>> RESULT newval
>>>>> END
>>>>>
>>>>> works ...
>>>>> BUT increasing _iterations to 600 -> OverFlow() already fails.*
>>>>> Shi*,
>>>>>
>>>>> Bjoern
Message forwarded from pcsoft.us.windev