From: Michael L. <ml...@lu...> - 2012-12-14 01:35:53
|
Greetings RexxLA'ers, Is the new API to ooRexx still C compatible, or is it only C++ now? Yesterday I realized that perhaps I could develop the ooRexx Application Server Architecture in Object Pascal with Free Pascal / Lazarus, the same tool I am thinking to use for client side application development. Net result would be needing to be proficient in two languages, and avoid C/C++! I inquired in the Lazarus forum, and they replied that the technique to bridge to an API is different based on if the API is C or C++. Another response came that I can refer to the Gtk integration for an example of C interface, and the Qt integration to see how C++ is interfaced. So either way I have an example to refer to... next was finding out what the current state of API is in ooRexx land. TIA! -- Michael Lueck Lueck Data Systems http://www.lueckdatasystems.com/ |
From: David A. <w.d...@gm...> - 2012-12-14 13:53:53
|
Michael - The short answer is that both C and C++ APIs are available. But there is a longer answer that you need to get into. If all you need are access to the local Rexx variable pool and the ability to create your own function packages then all you need is the C APIs. But if you need access to the advanced set of objects available in ooRexx then you must use the C++ APIs. So you need to evaluate your requirements and choose the API set that best matches those requirements. David Ashley On Thu, 2012-12-13 at 20:35 -0500, Michael Lueck wrote: > Greetings RexxLA'ers, > > Is the new API to ooRexx still C compatible, or is it only C++ now? > > Yesterday I realized that perhaps I could develop the ooRexx > Application Server Architecture in Object Pascal with Free Pascal / > Lazarus, the same tool I am thinking to use for client side > application development. Net result would be needing to be proficient > in two languages, and avoid C/C++! > > I inquired in the Lazarus forum, and they replied that the technique > to bridge to an API is different based on if the API is C or C++. > Another response came that I can refer to the Gtk integration for an > example of C interface, and the Qt integration to see how C++ is > interfaced. So either way I have an example to refer to... next was > finding out what the current state of API is in ooRexx land. > > TIA! > |
From: Rick M. <obj...@gm...> - 2012-12-14 13:56:26
|
On Fri, Dec 14, 2012 at 8:53 AM, David Ashley <w.d...@gm...>wrote: > Michael - > > The short answer is that both C and C++ APIs are available. But there is > a longer answer that you need to get into. > > If all you need are access to the local Rexx variable pool and the > ability to create your own function packages then all you need is the C > APIs. But if you need access to the advanced set of objects available in > ooRexx then you must use the C++ APIs. > The object APIs can work from both C and C++, although they are definitely much easier to use from C++ code. Rick > > So you need to evaluate your requirements and choose the API set that > best matches those requirements. > > David Ashley > > On Thu, 2012-12-13 at 20:35 -0500, Michael Lueck wrote: > > Greetings RexxLA'ers, > > > > Is the new API to ooRexx still C compatible, or is it only C++ now? > > > > Yesterday I realized that perhaps I could develop the ooRexx > > Application Server Architecture in Object Pascal with Free Pascal / > > Lazarus, the same tool I am thinking to use for client side > > application development. Net result would be needing to be proficient > > in two languages, and avoid C/C++! > > > > I inquired in the Lazarus forum, and they replied that the technique > > to bridge to an API is different based on if the API is C or C++. > > Another response came that I can refer to the Gtk integration for an > > example of C interface, and the Qt integration to see how C++ is > > interfaced. So either way I have an example to refer to... next was > > finding out what the current state of API is in ooRexx land. > > > > TIA! > > > > > > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > Oorexx-devel mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-devel > |
From: Michael L. <ml...@lu...> - 2012-12-15 13:46:14
|
Thank you David and Rick. Am I correct to think that if I choose the C API, I have access to RexxStart and receive a string exit code from Rexx... and if I choose C++ I gain additional capabilities? Certainly for the "Hello, World!" phase I am interested in calling RexxStart and receiving back the string exit code. However, once that is working "more is always better". Perhaps I will try the C++ route and hopefully getting the basic RexxStart / string exit code working in Object Pascal will not be too challenging. Then I may always expand the usage of the Pascal / ooRexx interface. Sincerely, Michael |
From: David A. <w.d...@gm...> - 2012-12-17 14:32:00
|
You are correct. The C API offers the RexxStart interface and the C++ API has additional features. Good luck, David Ashley On Sat, 2012-12-15 at 08:46 -0500, Michael Lueck wrote: > Thank you David and Rick. > > Am I correct to think that if I choose the C API, I have access to RexxStart and receive a string exit code from Rexx... and if I choose C++ I gain additional capabilities? > > Certainly for the "Hello, World!" phase I am interested in calling RexxStart and receiving back the string exit code. However, once that is working "more is always better". Perhaps I will try the C++ > route and hopefully getting the basic RexxStart / string exit code working in Object Pascal will not be too challenging. Then I may always expand the usage of the Pascal / ooRexx interface. > > Sincerely, > Michael > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > Oorexx-devel mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-devel |
From: Michael L. <ml...@lu...> - 2012-12-27 12:18:52
|
David Ashley wrote: > You are correct. The C API offers the RexxStart interface and the C++ > API has additional features. > Good luck, aaaahhh, yea... I tried to import the rexx.h from the source I had downloaded some time ago for 4.1.2 build. The header importer raises various objections. First LOC it complains about is some sort of IfDef for C/C++ detection support. Are both the C and C++ header the same file!?!? I do not see a rexx.hpp, which would be a filename I would assume to be for C++ only. I am looking up a rexx.hpp from an earlier build which hopefully will import correctly, thus confirming that it is the presence of C++ specific syntax which Lazarus objects to. Sincerely, -- Michael Lueck Lueck Data Systems http://www.lueckdatasystems.com/ |
From: David A. <w.d...@gm...> - 2012-12-27 16:09:11
|
The C++ header is oorexxapi.h and the C header is rexx.h. The oorexxapi.h file includes the rexx.h file. David Ashley On Thu, 2012-12-27 at 07:18 -0500, Michael Lueck wrote: > David Ashley wrote: > > You are correct. The C API offers the RexxStart interface and the C++ > > API has additional features. > > > > Good luck, > > aaaahhh, yea... > > I tried to import the rexx.h from the source I had downloaded some time ago for 4.1.2 build. > > The header importer raises various objections. First LOC it complains about is some sort of IfDef for C/C++ detection support. > > Are both the C and C++ header the same file!?!? I do not see a rexx.hpp, which would be a filename I would assume to be for C++ only. > > I am looking up a rexx.hpp from an earlier build which hopefully will import correctly, thus confirming that it is the presence of C++ specific syntax which Lazarus objects to. > > Sincerely, > |
From: Michael L. <ml...@lu...> - 2012-12-28 00:52:38
|
David Ashley wrote: > The C++ header is oorexxapi.h and the C header is rexx.h. Yes I was trying to import from rexx.h It contains some #ifdef C++ references, as well as some C++ macros I believe they are called. The header importer / converter refuses to completely import for such reasons. I am thinking to build up a custom rexx.h file having just enough to let Pascal understand the RexxStart API. Sincerely, -- Michael Lueck Lueck Data Systems http://www.lueckdatasystems.com/ |