× 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: RPGIV - Pointer Parameter API QwpzHostPrintTransform
  • From: Scott Klement <klemscot@xxxxxxxxxxxx>
  • Date: Tue, 13 Mar 2001 12:26:11 -0600 (CST)


Pointers in C are passed by value.   Do the same thing in RPG IV, and
it'll work.

example:
D   OptinP                        *   value

IMHO, this is an awkward way to do it.  Instead of passing a pointer, you
should be passing a field of the correct type by reference.   This allows
the compiler to do much better validity checking.

example:

D PrintTransform  PR                  extproc('QwpzHostPrintTransform')
D   ProcOptP                    10I 0
D   OptinP                   32766A   options(*varsize)
D   LoptInP                     10I 0
...etc....



On Tue, 13 Mar 2001 B.Quindt@zapf-bayreuth.de wrote:

> Hallo,
> 
> we have a example Program witten in C in this example the API
> QwpzHostPrintTransform was called.
> All the Parameters passed from C Programm were Pointers.
> 
> We want to use the API in RPGIV Programm, is there a way to pass pointers
> in the same way like the
> C Programm does  ?
> 
> Example C Code
> 
> QwpzHostPrintTransform( procoptP,
>                         (Qwpz_HPT_Opt_SpecIn_t  *)(&OPT_Spec_In),
>                         LOptInP,
>                         SplDataP,
>                         SplDataLP,
>                         (OptOut_t *)(&OPT_Spec_Out),
>                         LOptOutP,
>                         LOptOutAP,
>                         TranDataP,
>                         TranDataLP,
>                         TranDataAP,
>                         (char*)(&errcode) );
> 
> We tried to define the following in RPGIV  but it doesn't work.
> 
>  D PrintTransform  PR                  extproc('QwpzHostPrintTransform')
>  D   ProcOptP                      *
>  D   OptinP                        *
>  D   LoptInP                       *
>  D   SplDataP                      *
>  D   SplDataLP                     *
>  D   OptOutP                       *
>  D   LoptOutP                      *
>  D   LoptOutAP                     *
>  D   TranDataP                     *
>  D   TranDataLP                    *
>  D   TranDataAP                    *
>  D   APIError                   272    options( *NoPass )
> 
> 
> 
> Thank you
> 

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