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



Just my opinion. Returning data structures with addresses of procedures seem
really ugly. Add a new procedure and new data structure.

Seems service program are designed to do exactly what you want. Expose
multiple procedures and I can add new procedures at anytime. I have the
QLEACTBNDPGM api in a service program so nothing to loading the procedure. I
am doing it all over the place.

/copy *libl/qsrcf,xvdynl_pr

d pptrCallProcedure...
d s Like(StdPrcPtr)
d CallProcedure...
d pr ExtProc(pptrCallProcedure)
d PR_DataString...
d 32767a Varying
d pptrTriggerProcedure...
d s Like(StdPrcPtr)

// If not loaded before, load the service program.
If Not ProgramLoaded;
pptrTriggerProcedure =
DYNL_LoadServiceProgramProcedure(ServiceProgramName :
ServiceProgramLibrary:
ServiceProcedure );

// Call the procedure to handle this message.
pptrCallProcedure = pptrTriggerProcedure;
Monitor;
CallProcedure(SendData);
On-Error;




On Wed, Apr 7, 2010 at 1:21 PM, Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx>wrote:

Service programs can do the same thing -- though it's a little more
complex. I've used service programs as well.

But I don't know why you said they'd be "better". Remember, signature
checking isn't going to be done, since the service program library/name
isn't known at compile/bind time. So what does using a service program
gain you?

Using a *PGM means you don't have to resolve a system pointer (using MI
builtins) and call the QleActBndPgm/QleGetExp APIs. Other than
eliminating that bit of extra code, the work is the same...


On 4/7/2010 1:42 PM, Alan Campin wrote:
Sounds like service programs would work better.

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

Follow-Ups:
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.