×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
Thanks to everyone who replied. I'm not going crazy after all.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jon Paris
Sent: Wednesday, January 27, 2010 2:31 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: *NOPASS parameter retaining old value
On Jan 27, 2010, at 12:31 PM, rpg400-l-request@xxxxxxxxxxxx wrote:
The code works fine. What I don't understand is why ForceRead has a
value. When I run in debug I would expect the evaluation of the
ForceRead parameter to not be addressable because it wasn't passed.
Instead it contains the value from an earlier call that did pass the
parameter. Is it that once the parameter is passed the procedure
retains that address in memory and therefore the value of that
parameter?
The fact that you saw your old data was basically a matter of luck and timing. It could have been a pointer to any old parm previously passed by a call with that many parms (or more). Luckily for you you were defending correctly (i.e. checking %parms) and not attempting to update the parameter. I've seen some really nasty DB corruption caused by folks who used and updated more parameters than they received - assuming that it would blow up if the parm wasn't passed. Really bad assumption.
This thread
http://archive.midrange.com/rpg400-l//200301/msg00210.html
dealt with the topic. I've also written on it including sample code to demonstrate what's going on under the hood, but I can't find the reference right now.
Jon Paris
www.Partner400.com
www.SystemiDeveloper.com
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
Privileged and Confidential. This e-mail, and any attachments there to, is intended only for use by the addressee(s) named herein and may contain privileged or confidential information. If you have received this e-mail in error, please notify me immediately by a return e-mail and delete this e-mail. You are hereby notified that any dissemination, distribution or copying of this e-mail and/or any attachments thereto, is strictly prohibited.
As an Amazon Associate we earn from qualifying purchases.