VFP, unlike some languages, is intolerant of excess parameters. To catch this:

1. Use error handling in the CALLING program, not the CALLED program
with the Parameters statement, or

2. Write a very tolerant program that accepts all of the parameters
you can throw at it (varies by version) and throws an error after
testing them with PCOUNT().

(At one point, I know the number of parameters was 26, since that's
the number of red playing cards in a standard deck. But I think that
limit was raised in the most recent version, as your testing
indicates.)


On Tue, Nov 22, 2016 at 2:36 PM, Gene Wirchenko <[email protected]> wrote:
> At 10:34 2016-11-22, Gene Wirchenko <[email protected]> wrote:
>>
>> Hello:
>>
>>      I am using VFP 9, but this may apply to many versions.
>>
>>      I am testing a new printing subsystem.  This will require testing
>> each report with a valid configuration and an invalid configuration.  I
>> wrote a short, standalone program that tweaks the configuration either way.
>> It is run with
>> <vfp>
>>           do tmpprint with <number>
>> </vfp>
>>
>>      I also wanted to check the parameters.  If I do not specify a
>> parameter, that is an error and one easily caught with pcount().
>>
>>      However, if there are more parameters than expected, an error 94
>> (Must specify additional parameters.) is thrown on the lparameters
>> statement.  How do I catch this error considering that nothing gets executed
>> before the lparameters statement is looked at?
>>
>>      It gets odder.  Supposedly lparameters takes up to 26 parameters.  I
>> am now up to 40, and they all get assigned their specified values.
>> Specifying a 41st parameter in the invocation throws an error 94.  Where
>> does it end?
>
>
>      Addendum: In this case, I could break the program up into two programs:
> one the sets the valid configuration and one that sets an invalid
> configuration.  Neither would require parameters.  However, if a parameter
> is specified to a program without a [l]parameters statement, an error 1234
> (No PARAMETER statement is found.) is thrown.  (I note the typo in the error
> message: "PARAMETER" should be "PARAMETERS".)
>
> Sincerely,
>
> Gene Wirchenko
>
>
[excessive quoting removed by server]

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cacw6n4vvbxenvpjxtrjsx-azpwvau+o-vbvxi6+pznb6dvj...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to