The C service program runs in its own activation group (named)
The RPG program is an ILE RPG program (teraspace enabled by default) and runs in the default activation group.
It seem that I can get a pointer from the C procedure to my RPG program but not use the pointer stored in my RPG program in another C procedure of that module.
My guess is the following:
Fact: The pointers in the C modules have a size of 8 bytes (necessary because of some code). The pointers in my RPG program have a size of 16 bytes.
Guess: Because of the different pointer size these programs are incompatible. I hoped that the system would somehow transform the 16 byte pointer (which really only stores the 8 byte previously received) and convert it to an 8 byte pointer. But it seems that it does not do this.
I get the errors MCH6902, MCH0601, MCH3203.
Now I have just read that in 7.1 RPG modules can be compile with the storage model *teraspace. Does that mean that the pointer in RPG will also be 8 byte and that the calling to the procedure might work with 7.1 because it is the same storage model?
This mailing list archive is Copyright 1997-2019 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