Peter, Thanks for taking the time to share your ideas. See comments below.
On 9/1/10 3:09 PM, Peter Jakobsson wrote: > On 1 Sep 2010, at 21:53, Brad Perkins wrote: > >> Any ideas would be appreciated. > > > I spent a great deal of time tracking down 'invalid parameters in > execute command' when I upgraded to v11 (mainly because I use > components and they've been revolutionised). > > It was one of those things where there's nothing else for it but > to sink entire days into it systematically to get to the bottom of > the problem. I'm well into day 3. > > I think what I did was to systematically remove of If(False) whole > bits of the Active 4D scripts out of the call chain to isolate > where the problem was. Unfortunately I can't quite remember what > the various problems were, however, a lot were related to > component use (e.g. trying to call a component method from an > Active 4D script which is not allowed). We don't use any components. > > Other stuff which I dealt with but which may not result in the > symptoms you have were: > > - type mismatches I've already looked into this. When comparing our old 4D 2003 shell to the new I noted a lot of C_STRING to C_TEXT changes. I haven't found any mismatches though. I've also looked for multiple variable declarations that might be inconsistent. You would think the Compiler would catch those though. I miss Insider. I really miss Sanity Check (sigh). > - undefined variables in interpreted mode being passed to a > compiled component We compile all variables are typed. Wait, you said component. Don't use them. > - forms being called which did not exist (this is a good one - > works fine in 2004 but throws and error in v11) Do you mean 4D forms? This should not be an issue in our application. > - 4D bugs (mainly 11.6 If your on 11.7 there are less) We're on 11.7. > - custom constants not defined I think we are OK here. Do you mean in 4D code or Active4D code? If the latter I have run the conversion routine and am importing 'constants.a4l' from within On Application Start. If the former, wouldn't the Compiler catch if those were not defined? > > Are you using the 'out of the box' shell ? If not I could go on > because some stuff has changed with regards to A4D Execute 4D > request. No, but since we are using NTK that plugin command is not called. I installed the new shell into our structure. Before I did that I exported our existing shell methods and the new shell methods and ran them through a graphical diff tool. I used that as the basis for merging our changes back in. The truth is we don't really change default shell behavior that much. I have to do the previously mentioned CGI branching and I need to initialize a few process variables that exist in called 4D methods. > > Failing any of the above being your problem, I strongly recommend > the 'get out and dig' option which means take a couple of hours to > systematically disable your Active4D call chain (i.e. all the code > that runs inside A4D Execute 4D request (or in your case A4D > Execute stream request) until you no longer get the error. This is basically where I am now. I have to figure out what 4D code runs or is called from A4D Execute stream request. > Then work back the way, re-enabling code at a more granular level > until you have isolated the buggy code by sheer brute force and > will. This approach worked for me, but you need some time and a > lot of coffee. The payback is you'll learn something :) That isn't where I want to go, but it looks like this is what I will have to do. This is a huge pain though as we run our web server on client. For that reason I also develop that way. Thanks again for all of the suggestions. -- Brad _______________________________________________ Active4D-dev mailing list [email protected] http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/
