fdo 37341 MAXRECURSION reached in ScFormulaCell::Interpret
W.Donkers at dci-electronics.nl
Thu Jul 11 22:43:48 PDT 2013
> > To me just increasing MAXRECURSION to 800 is a dirty hack.
> Yup. I wouldn't go there if I were you.
> Actually, I'm just wondering why that code is even in ScInterpreter.
> The goalseek functionality is not a cell function, and I would expect a code
> like that to be outside of ScInterpreter. This is just my guess, but because we
> are putting a code that does its own iterative calculation on top of the
> recursive interpretation that ScInterpreter already does, it is somehow not
> resetting the recursion counter in each iteration. Maybe you can see if the
> recursion counter is really zero when the formula calls Interpret() in each
> iteration... In theory the recursion count should be zero when each iteration
I had already started creating traces to check the recursion count.
> If you take a look at ScDocument::Solver, it actually creates a fake formula
> cell instance and stuff it with fake formula expression to perform this goal
> seek. Why not move this code from its current location
> (ScInterpreter::ScBackSolver) into ScDocument::Solver and eliminate this
> awkward indirection?
I will definitively have a look at ScDocument::Solver, thank you for your suggestion.
More information about the LibreOffice