× 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.



>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 thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.