|
I guess I'm not clear on how static storage is "shared". That was the original bullet point that confused me. I'm teaching a class next week on this subject and I had included that bullet point from the discussions on this list, but I don't really understand it. > -----Original Message----- > From: Buck Calabro [SMTP:Buck.Calabro@commsoft.net] > Sent: Thursday, March 07, 2002 11:47 AM > To: rpg400-l@midrange.com > Subject: RE: Activation groups for beginners > > >Can you elaborate a little on "static storage"...? > > Static storage is "left alone" between program calls. It isn't > initialised. > > * Demonstrate static storage > > h debug dftactgrp(*no) actgrp('QILE') option(*srcstmt: *nodebugio) > * dbgview(*list) > > d incrAndDisplay pr > > c callp incrAndDisplay > c eval *inlr = *on > > p incrAndDisplay b > d incrAndDisplay pi > > d countStatic s 10i 0 static > d countStaticInz s 10i 0 static inz(10) > d countAuto s 10i 0 > d countAutoInz s 10i 0 inz(10) > > c eval countStatic = countStatic + 1 > c eval countStaticInz = countStaticInz + 1 > c eval countAuto = countAuto + 1 > c eval countAutoInz = countAutoInz + 1 > c countStatic dsply > c countStaticInzdsply > c countAuto dsply > c countAutoInz dsply > p e > > A traditional OPM program you'd expect to see that every one of these > variables gets initialised every time the program is called. The two > variables marked with the 'static' keyword won't. > > Call this program. The first time it runs you'll see 1, 11, 1, 11. Run > it > again and you'll see 1, 12, 1, 11. Now do a RCLACTGRP QILE and run it > again. A new AG('QILE') will be created and statuc storage initialised, > so > you'll see 1, 11, 1, 11 again. > > Static storage is handy when you need to keep track of something all day > long, like the last time the function was called, or a count of how many > jobs are using it. > --buck > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. ************************************************************************************************************************************************************************************************************ This message originates from Lincare Holdings Inc. It contains information which maybe confidential or privileged and is intended only for the individual or entity named above. It is prohibited for anyone else to disclose, copy, distribute or use the contents of this message. All personal messages express views solely of the sender, which are not to be attributed to Lincare Holdings Inc., and may not be copied or distributed without this disclaimer. If you received this message in error, please notify us immediately at MailAdmin@lincare.com or (800) 284-2006. ************************************************************************************************************************************************************************************************************
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.