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