David,
Thanks for providing such information.
Actually the method I wanted to have 16 parameters (intially they were 27, and finally I ended with 16+3) was a factory method for instantiating class and passing parameters to it. I wanted to name the parameters passed like vuParameter## where ## stands for the number of the parameter. Try to create such a method in a VCX and when you subclass the class with such a method, you will encounter the situation I mentioned. At first I was confused about what is causing the fatal exception, but finally I came to idea somithing in my method is the reason.
I worked over it by renaming my parameters, and now they have names like vuParam##
(You may find the naming convention strange, so I will explain it:
v stands for value parameter;
u stands for unknown type. The opposite of
value parameter is parameter by re
ference, for example fcResult - character parameter by reference)
>Zlatin,
>
>Ok based on running this code:
>
>
select expanded, 00 + iif( occurs( '...',tip )>0, 27, occurs(',', tip) + iif(empty(tip),0,1)) as args ;
> from foxcode ;
> into cursor funcargs ;
> where type = 'F'
>
>select args, count(*) from funcargs into cursor x1 group by 1 order by 1
>
>We get this distribution of number of arguments to the builtin functions:
>
>
># Args Cnt
> 0 3
> 1 193
> 2 111
> 3 69
> 4 20
> 5 8
> 6 4
> 7 1
> 8 1
> 27 11
>
>The 27 arguments occur because of functions like min(), max(), createobject()
Kind Regards
Zlatin Zlatev,
MCSD (VS6)Make solutions, not programs!