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



All,

All my procedures have a return value, but often it's just a rc (return
code) with a value of 0 for success or -1 for failure. Frankly, I
*hate*procedures which don't have
*some* means of telling their caller whether they succeeded or not. A
different matter, though

But anyway, I use both input and output parameters for procedures. Some of
those are built like the IBM API's, with a data-structure interface. Some
just use a random mix of input , output or I/O parameters. Depends on who
wrote the original procedure, when and why, and how much it's been changed.
I have, however, change some of my frequently-called procedures which return
a string to return a smaller string (say 100 bytes rather than 65535 bytes)
for the sake of performance. I coded them with a 65535 return value for
'flexibility', but the performance hit was sometimes noticeable...

Ah, this is like the subroutines vs. subprocedures debate. There's no
'absolutely right' or 'absolutely wrong' answer - ease of use and
performance play their parts as well......... Good times!

Rory

On Mon, Mar 16, 2009 at 12:16 PM, James Perkins <jrperkinsjr@xxxxxxxxx>wrote:

I too agree with Kurt and Scott, at the same time I prefer the use of and
do
use return parameters more. There are some cases when it just makes more
sense to use the output parameters.

A good example I think would be reading an IFS file.

fd = openFile('/somedir/somefile.txt');
dow (readFile(fd : %addr(string) : %len(string)) > 0);
// do something with the string
enddo;

It make more sense to me to have the return value pass back the buffer
length rather than the string. Passing back the string, how would you know
then the file is complete? You could pass back a blank or an arbitrary
string, but 0 is always 0.

Just my opinion though.

--
James R. Perkins
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.





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.