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



Kurt,

Glad it works, but IMHO you should reconsider doing this.  Passing back
a point to a procedures private data is a big no-no.

Either return the DS itself, or pass a DS by reference into the
procedure for update.

Just my .02

Charles Wilt
--
iSeries Systems Administrator / Developer
Mitsubishi Electric Automotive America
ph: 513-573-4343
fax: 513-398-1121
  

> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx 
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Kurt Anderson
> Sent: Wednesday, January 11, 2006 5:37 PM
> To: RPG programming on the AS400 / iSeries
> Subject: RE: Procedure returning a pointer, and debugging
> 
> Larry,
> 
> Your input lead me to the answer.
> I didn't have the pointer in the subprocedure defined as static, which
> is ok... But the problem I had is that I didn't have the data 
> structure
> (which is what the pointer was pointing to) defined as Static.  So, I
> put the Static keyword on it and it works great.
> 
> Thanks,
> 
> Kurt Anderson
> Application Developer
> Highsmith Inc
> 
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Larry Ducie
> Sent: Wednesday, January 11, 2006 4:26 PM
> To: rpg400-l@xxxxxxxxxxxx
> Subject: Re: Procedure returning a pointer, and debugging
> 
> D'oh!
>  
> <snip>
> Is the pointer defined as static..?
> </snip>
>  
> Obviously, I meant: Is the pointer NOT defined as static..?
>  
> I must learn how to switch off this predictive-text keyboard!  ;-)
>  
> Larry Ducie
>  
> 
> -----Original Message-----
> From: Larry Ducie [mailto:Larry_Ducie@xxxxxxxxxxx]
> Sent: 11 January 2006 22:19
> To: rpg400-l@xxxxxxxxxxxx
> Subject: Re: Procedure returning a pointer, and debugging
> 
> 
> Hi Kurt,
>  
> Is the pointer you are passing back defined within the 
> procedure you are
> calling..? Is the pointer defined as static..?
>  
> If so you will have trouble because when the procedure returns the
> pointer
> will be destroyed. The OS may use up the memory allocated to it for
> something else at any point, but when this occurs is 
> indeterminate. So,
> a
> quick return may well result in data still untouched (and the chain
> succeeding) , but if a long time elapses (like when debugging) the OS
> may
> well allocate the storage to something else and "corrupt" 
> your data. It
> may
> be better to pass your pointer in as an input-output variable and let
> the
> procedure write data to that. This way, your data will still 
> exist prior
> and
> after the call. This is how standard IBM APIs usually work.
>  
> I believe that, even though the pointer is passed back by 
> value you are
> simply setting your pointer to point to the same address as 
> the pointer
> defined in your procedure (which no longer exists).
>  
> HTH
>  
> Larry Ducie 
> 
> -- 
> 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.