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


  • Subject: Re: Passing pointers as parms
  • From: Scott Klement <klemscot@xxxxxxxxxxxx>
  • Date: Tue, 28 Nov 2000 11:07:32 -0600 (CST)


If this is a program calling a program (within the same job) the program
_is_ (implicitly) passing a pointer...     Thats the way parameters work,
they're passed by "reference" (i.e. a reference to an address in main
storage)

The exception to this, of course, is when using something like QCMDEXC or
SBMJOB...   

So I'm a bit confused as to why you want to pass a pointer instead of the
buffer directly?   if you really want to just pass the pointer, you could
do something like this:

Program 1:

D MyBuffer        S          32766A
D pointer         S               *   inz(%addr(MyBuffer))
D MyField         S              1A   based(pointer)
C                   CALL      'PROGRAM2'
C                   PARM                    MyField


Program 2:

D pointer         S               *   
D MyField         S              1A   
D MyBuffer        S          32766A     based(pointer)
C     *ENTRY        PLIST
C                   PARM                    MyField
C                   eval      pointer = %addr(MyField)
 

But this would yield the same exact results as just passing "MyBuffer"
directly... so why would you bother??


On Tue, 28 Nov 2000 jfinney@omnia.co.za wrote:
> 
> Hi all,
> 
> I've a program which moves a buffer, (anywhere up to 32767), into a data
> structure. The data appears correct in the subfields.
> 
> What I want to do is to call another program and instead of passing the
> data/data structure, rather pass a pointer to the data and move the data into 
>a
> data structure in the called program. Any suggestions, (yes, I'm busy reading
> the manual) ?
> 
> Regards
> John.
> 

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.