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



Thanks Tom.

The compile still fails with the same messages.

It has to be something simple and subtle (at least to these eyes)

Pete

Armbruster, Tom wrote:
Pete,

I think you just need to declare your return type and process call on
the same line so the compiler knows to expect a return object from the
method.

Try this:

*+++++++++++++++++++++++++++++++++++
D RRGenerator_iPrintReport...
D PR N EXTPROC(*JAVA
D :'com.valadd.report.engine.-
D .Generator'
D :'iPrintReport')
D host like(jString)
D libraryList like(jString)
D userID like(jString)
D password like(jString)
D reportName like(jString)
D reportOutput like(jString)
D reportParam like(jString)
D outputFormat like(jString)
D compileFirst 1N value
Tom Armbruster

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Pete Helgren
Sent: Tuesday, April 15, 2008 2:13 PM
To: RPG programming on the AS400 / iSeries
Subject: A problem with prototypes for Java wrapper

I have a java program that I'd like to wrap with RPG. This is the first

attempt I have made at something like this (including placing prototypes

in a separate member and /copying them in). So there may because something obvious here that my ignorance is covering. When I compile the module, I get the following (V5R3M0):

A d d i t i o n a l D i a g n o s t i c M e s s a g e s Msg id Sv Statement Message text *RNF7535 30 000181 The type and attributes of parameter 9 do not

match those
of the prototype. *RNF5406 30 000178 The call passed fewer parameters than the prototype
indicates are required.
I know what it is saying but looking at my code and the /copy member I don't see the mismatch.

Here is the relevant /copy:

*--------------------------------------------------------
*
* RPG Wrapper for RRGenerator_iPrintReport
*
*--------------------------------------------------------
D rrg_iPrintReport...
D PR 1N
D prHost like(jString)
D prLibList like(jString)
D prUserID like(jString)
D prPassword like(jString)
D prReportName like(jString)
D prReportOut like(jString)
D prRepParam like(jString)
D prOutFormat like(jString)
D prCompile 1N value
*+++++++++++++++++++++++++++++++++++
D RRGenerator_iPrintReport...
D PR 1N
D EXTPROC(*JAVA
D :'com.valadd.report.engine.-
D .Generator'
D :'iPrintReport')
D host like(jString)
D libraryList like(jString)
D userID like(jString)
D password like(jString)
D reportName like(jString)
D reportOutput like(jString)
D reportParam like(jString)
D outputFormat like(jString)
D compileFirst 1N value
The call is here:

P rrg_iPrintReport...
P B EXPORT
D rrg_iPrintReport...
D PI 1N
D peHost like(jString)
D peLibList like(jString)
D peUserID like(jString)
D pePassword like(jString)
D peReportName like(jString)
D peReportOut like(jString)
D peRepParam like(jString)
D peOutFormat like(jString)
D peCompile 1N value
D success s 1N
D
D
/free

success = RRGenerator_iPrintReport(peHost: peLibList: peUserID: <-- Line 178
pePassword: peReportName:
peReportOut: peRepParam:
peOutFormat: peCompile); <---Line 181

return success;
/end-free

As I count/compare parameters and types it looks good to me. What I am I missing?

Thanks,

Pete



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.