The external procedures in DLL can be used since version 8 (I think) but if you are on 10.2B then you can directly access any .Net assembly from Progress just as you'll do from c# or vb.net, there are some restrictions mainly due to the single-threaded nature of Progress client but for the most...
You can go the JNI route by having a small wrapper C library in the middle but anyway you end up using the shared library call Tom suggested so in your case I would better go directly by using a C/C++ client library like http://libmemcached.org/libMemcached.html
If need some help in getting it...
In a joint effort together with Istvan Hollo and (hopefully) support from other PUG’s in the EMEA region we are trying to move from the idea incubation phase to something more real and start the next year with a first users group event to be held in our region sometime in the late February – the...
that leads me into thinking that you (the caller) need to allocate memory for that memptr and hence it shouldn't be neither defined as output but input and when you pass it it most probably need to get the pointer (as a long) instead of the memptr variable.
PROCEDURE msgi_request_reply...
If you try it from Eclipse and you did follow the other thread on setting the CLASSPATH in the 'run configuration' then I think what you need to do is to add the path to JdbcProgress.dll to the PATH system variable... you either do it at the system level or add it in Eclipse's run configuration...
did you considered to change the order of where and with? :)
or, maybe even better you should have a nice read of the manuals... http://documentation.progress.com/output/OpenEdge102b/pdfs/dmsrf/dmsrf.pdf
Indeed, not a good idea to give them access to raw data anyway...
[shameless-plug]
If they need to use JDBC then you might check-out my own JDBC driver for ABL, then the 4GL engine is used and either go directly to the database or through the business logic 'stored procedures'...
Then you can try READPAST hint to skip the records that are locked instead of waiting for transaction to complete... this works for READ COMMITED so no dirty records for you :)
SELECT * FROM customer WITH (READPAST NOWAIT);
regardless of the DSN settings the transaction isolation level can be changed anytime with SQL statements...
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
might be related to the calling convention used (aka, who clean-up the stack)... the default in C++ is CDECL while in ABL is STDCALL, you can try to use 'CDECL' in ABL when defining the procedures as external.
Adding the jar's to build path really makes no difference, you don't need them to compile the code as the driver will be loaded dynamically... when you do need them to be in the CLASSPATH is at run-time, depending on your development platform you have to change some settings to make those jar's...
Re: Defining the temp-table in 2 ways
so, sort of answering my own question... more for the reference and to find it somewhere online when I need it again :)
the trick seems to be to play with the AppBuilder comment section on "procedure settings"
/* dsCustomer.i */
define temp-table...
sure it's possible, just a bit different... depends on what you send in that post request, it can be simple variable=value list, xml document or multi-part file upload ;)
so, what do you want to send them? :)
but you should be able to do it, just that not passing a buffer parameter which is static but a buffer handle... well, it's simply a handle (I wish they'll add buffer-handle same way we have table-handle, dataset-handle) so you better check if the handle is really a buffer handle beside the...
yeah, seems to be the norm in progress world to not leave the comfort of our dear ABL even if it's definitively not up for the job :)
for a somehow less advanced designer but with a great 'transformation' engine you might look into Apache's FOP (http://xmlgraphics.apache.org/fop/) + FO Designer...
We use one of the Java report engines available - Birt, Jasper Reports, Pentaho - which all have a easy to use WYSIWYG graphical report designer and are able to generate reports in any of the most common document formats out there: PDF, Word, Excel...
Data can be fetched either through regular...
wasn't able to find the query object you were referring to but I guess there might be more than what you've posted... I see however something that might look like a memptr variable and no sign of release on it - set-size(0).
also, having the temp-table as no-undo could help i guess...
Salut Roland, we're more that using it (along with Jasper Reports or Pentaho)
If you are interested on a demo just let me know and we can arrange that ;)
i guess you can try to remove the 'handle to' option from the last parameter and pass an integer variable when calling the method...
PROCEDURE LlDomGetObject EXTERNAL "{&CMLL15_DLLNAME}" ORDINAL 209 {&CMLL15_PERSISTENT}:
DEFINE RETURN PARAMETER rc AS LONG.
DEFINE INPUT PARAMETER hDOMObj AS...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.