Unix Shared Library access from 4GL

sgeunes

Member
I am confronted with a task that is uncharted waters to me. Ultimately, I need to use a progress back-end and progress 4gl to communicate with MQSeries on an AIX Unix box. I already have a working C/C++ wrapper library that has functions that successfully implements the MQ API calls. The issue i'm confronted with now is getting Progress 4gl to communicate with the functions in this library wrapper. It appears that my best bet is to use shared libraries, as opposed to HLC, especially since I am staying on Unix (not porting to windows). Some questions/problems i have are:

1) how does progress know where to locate/find my library? i.e. is there a unix library equivalent of the a path/propath?

2) i find that if i make up a complete fake, non-existing name for my C library name or specific function name in either my progress external procedure declaration or progress RUN statement...and then run the 4gl program, it appears to do a 'dummy' run with no errors (meaning i just get a blank screen that says the 'procedure complete, press space bar' message), but no error was given, like it couldn't find the library. very odd.

3) I'm also getting a lot of progress error messages "Mismatched parameter types passed to procedure <procedure>. (3230)". This doesn't make much sense to me, since I don't think it's even finding my library function yet.

4) i'm having some trouble figuring out how to declare my parameter data types in the shared library routine declaration. for example, if your library function has a parameter for 'pointer to long', i think you're supposed to declare your progress argument as 'handle to long'. kind of a bit confusing to me.
Anyway, any guidance anyone can offer is greatly appreciated.

i saw Scott Auge has a website dedicated to this topic, but it appears to be down/unaccessible.
Thanks for your help people!
 
Top