|
>In development I compile with optimization(*None) until I'm ready to do testing, ^ final Kurt Anderson Application Developer Highsmith Inc -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Kurt Anderson Sent: Wednesday, January 11, 2006 3:19 PM To: RPG programming on the AS400 / iSeries Subject: RE: Procedure returning a pointer, and debugging In development I compile with optimization(*None) until I'm ready to do testing, at which point I change it to *Full. So, this situation is happening with *None. I should also note, as I've been playing around with this, just being in debug won't cause the error. If I have a breakpoint on a line prior to the Chain listed below, then it will end in error. Below are three examples. Based on where I have my breakpoint will determine which lines of code fail. If...; Chain KeyDS.KeyProjID CSGPPrjMst; <------- success EndIf; <------- breakpoint Chain KeyDS.KeyOrder OrderFile; <------- fail Morecode(); If ...; <------- breakpoint Chain KeyDS.KeyProjID CSGPPrjMst; <------- fail EndIf; Chain KeyDS.KeyOrder OrderFile; <------- fail Morecode(); If ...; Chain KeyDS.KeyProjID CSGPPrjMst; <------- success EndIf; Chain KeyDS.KeyOrder OrderFile; <------- success Morecode(); <------- breakpoint Kurt Anderson Application Developer Highsmith Inc -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Tony Carolla Sent: Wednesday, January 11, 2006 3:06 PM To: RPG programming on the AS400 / iSeries Subject: Re: Procedure returning a pointer, and debugging Are you using optimization? I have seen at least two programs that I have written fail when compiled with optimization, yet they work when compiled without it. I haven't seen it work the other way though. Just a thought, try compiling without optimization. On 1/11/06, Kurt Anderson <kjanderson@xxxxxxxxxxxxx> wrote: > > I've had some experience with pointers, though mainly in dynamically > allocating arrays. > I'm now returning a pointer from a procedure, and I'm running into > something weird. > > To give you an idea of what I'm doing: > // Key Data Structure > > D ptrKeyDS S * > > D KeyDS DS Based( ptrKeyDS ) > > D KeyProjID Like( CBProjID ) // 7p 0 > > D KeyOrder Like( ODNum ) // 7p 0 > > // Retrieve the key fields by Order Number > > D rtvKeyByOrder PR * > > // Retrieve the key fields by Project ID > > D rtvKeyByProj PR * > > If Sort = ByOrder; > ptrKeyDS = rtvKeyByOrder(); > ElseIf Sort = ByProj; > > PtrKeyDS = rtvKeyByProj(); > > EndIf; > > > > // If the pointer isn't null, a record was found. > > If ptrKeyDS <> *Null; > Chain KeyDS.KeyProjID CSGPPrjMst; > ... > > So what I'm doing is calling one of two subprocedures to perform a > read for me (more than just a simple read). > I don't really show it in this example, but the calling procedure and > the two subprocedures have a data structure defined from a global > template using a LikeDS. > > Now, onto my issue. I can run this program, and it runs fine, which > is great. But, I need to debug this calling procedure, and when I do, > the Chain listed above fails. When I view the value of KeyDS.KeyProjID... > it's junk. So, is there a reason why when I'm in debug that the value > of that field differs than when run it interactively not in debug? > Has anyone experienced this? > > Kurt Anderson > Application Developer > Highsmith Inc. > W5527 State Road 106, P.O. Box 800 > Fort Atkinson, WI 53538-0800 > TEL (920) 563-9571 FAX (920) 563-7395 EMAIL kjanderson@xxxxxxxxxxxxx > > -- > This is the RPG programming on the AS400 / iSeries (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. > > -- "Enter any 11-digit prime number to continue..." "In Hebrew SQL, how do you use right() and left()?..." - Random Thought "If all you have is a hammer, all your problems begin to look like nails" -- This is the RPG programming on the AS400 / iSeries (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. -- This is the RPG programming on the AS400 / iSeries (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.
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.