|
Steve, *OMIT appears to be the only way to go for your requirement. It does of course mean that instead of using %Parms to determine if the parameter was passed, you will have to check for *Null instead (wouldn't it be nice if we could check for *Omit - hint hint Barbara!) but it has the advantage that you can pass on the parm with impunity. The compiler does not defend against passing unpassed parms - just as it doesn't stop you from attempting to reference those fields. Unlike called programs, attempting to reference an unpassed parm on a bound call will not necessarily blow up - sadly. If there is a valid pointer on the stack it will use it and you'll be passing goodness knows what data. Seems to me that it would be a nice compiler option to be able to specify that any attempt to reference an unpassed parm would result in a null pointer being used. That would have given you the result you expected. For compatibility reasons we're stuck with the current behavior as the default and I know it would be less efficient, but the current situation is just plain dangerous. Jon Paris Partner400
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.