|
Jim, In your program, you can define only the portions of a /copy member that you actually want the compiler to bring in. Good form is to do this just before the /copy and to undefine it just after: /Define(ProcedureName1) /Define(ProcedureName2) /Define(ProcedureName3) /copy Library,File,Member /Undefine(ProcedureName1) /Undefine(ProcedureName2) /Undefine(ProcedureName3) --------------------------------------------------- Then, in the copy member itself: /If defined(ProcedureName1) put the prototype for ProcedureName1 here... /Endif /If defined(ProcedureName2) put the prototype for ProcedureName2 here... /Endif /If defined(ProcedureName3) put the prototype for ProcedureName3 here... /Endif As the compiler reads the copy member, it will only bring in the ones you have defined at the time of the /copy. This is also quite useful for using the same copy member to contain code (even different line types) that you want to bring in at different points of your program. I don't remember for sure how far back this goes, but I think it was available at V3R7. ----- Original Message ----- From: "Jim Langston" <jlangston@conexfreight.com> To: <RPG400-L@midrange.com> Sent: Friday, February 11, 2000 10:55 AM Subject: Re: Prototypes and /COPYing > I am familiar with Define and Undefine from C, do those exist in > RPG? V3R7M0? The only once I have seen, or noticed anyway, > is the /COPY one. > > Regards, > > Jim Langston > > "Nelson C. Smith" wrote: > > > Jim, > > > > While I break up my procedures themselves into subject-related service > > programs (like your math procedures), I have found it simpler to just put > > all the prototypes into a singe copy member (called Prototypes, strangely > > enough) and then just use the Define and Undefine compiler directives to > > include only the prototypes desired in any one given program. If you use a > > procedure in the program and forget to include the compiler directive for > > it, the compile listing will give you a 7030 error and you will see your > > mistake quickly. > > > > Also, all those service programs are listed in the same binding directory, > > so there is only one thing you have to remember on the compile commands, > > too. I believe in keeping it as simple as possible. > > +--- > | This is the RPG/400 Mailing List! > | To submit a new message, send your mail to RPG400-L@midrange.com. > | To subscribe to this list send email to RPG400-L-SUB@midrange.com. > | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: david@midrange.com > +--- > +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.