|
Joe Pluta wrote:Oh my, Barbara, leave it to you to bring a really clever solution to the table. And I use clever with all the connotations; it's not only a very slick way to get around the problem of having *NOPASS for everything, at the same time the "lying to the compiler" concept gives me a tiny bit of the heebie jeebies.
... But if you're not, then changing the number of parms is as good a way to communicate as any. If you normally DO pass parameters, then DON'T pass any to signal a initialization. If you normally DON'T pass any parameters, then DO pass one to signal initialization.
A problem with this technique is that you have to make all the parameters *NOPASS. There's a way to get around it: Create a second prototype for the procedure with the same EXTPROC, but no parameters; call it something like myproc_reset. Then when you want the procedure to reset itself, call myproc_reset() instead of myproc(parms).
I'm of at least two minds about the relative goodness of the two techniques, but the "lying to the compiler" aspect of having two prototypes for a procedure seems less likely to cause maintenance problems that having all the parameters for the normal call be options(*nopass).
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.