This post contains attachments v20020727085610.zip 
Summary
There is now another implementation of the x++ interpreter available for Microsoft Windows NT/2000/XP users. This is the COM implementation, called XppEngCOM.dll. XppEngCOM is a COM object that performs the x++ interpretation for COM clients.
The code that is in the attached .zip file is the source code for the XppEngCOM project which contains the source code necessary for building the XppEngCOM.dll. In addition, it contains the XppTester project that contains the source code for the actual x++ interpreter code that XppEngCOM uses. So you will need to unzip both project folders. If you unzip them to C:\ so that you have C:\XppTester and C:\XppEngCOM then the XppEngCOM project should build without problems. Otherwise you will have to change the path specified in the XppEngCOM #include preprocessor directives that point to XppTester files.
Why a COM object? The reason why the COM implementation of the x++ interpreter was made was to
These COM clients may be web page scripting code on the server or the client, Visual Basic or Visual C++ applications-- in a nutshell, any COM client can use XppEngCOM.dll. support client side x++ processing in web pages. Of course you can still use XppEngCOM.dll in Visual Basic applications as well. So the use of x++ processing is extended very wide by the use of COM very easily. All you need to do is to add the XppEngCOM.dll to your application and call its methods.
ProgId for the COM object XppEngCOM.XppProcessor is the ProgId for the COM x++ interpreter.
Methods Implemented for XppEngCOM.dll (string) ProcessXpp((string) aXppCode, (string) aInputStream) ProcessXpp() returns the output stream contents produced by the x++ program aXppCode is the x++ program itself or the path to the x++ program file aInputStream is the XML of the input stream or the path to the input stream XML file (string) GetMem() GetMem() returns the run-time memory contents after the x++ program has finished execution (string) GetClasses() GetClasses() returns the run-time class memory contents after the x++ program has finished execution (string) GetException() GetException() returns the last exception that was raised during the x++ program's execution (string) GetXin() GetXin() returns the input stream contents after the x++ program has finished execution (string) GetXout() GetXout() returns the output stream contents after the x++ program has finished execution (string) GetXpp() GetXpp() returns the (possibly modified) program after the x++ program has finished execution (string) GetOriginalCode() GetOriginalCode() returns the original program source for the x++ program
Special Demo Program for XppEngCOM.dll There is a special demonstration web page that runs a client-side XppEngCOM object and processes x++ programs. The demo web page can be found at the following path relative to the XppEngCOM directory: XppEngCOM_demo\testXppEngCOM.htm
Convenient Way to Key in x++ Programs Okay, so you want to use XppEngCOM.dll to process x++ programs. But is there an easy and convenient way to key them in? Yes there is. You can use Templx, the new x++ IDE. Templx was released a week ago. Changes have already been made to it to include the use of input parameters when executing x++ programs. This new version of Templx is version beta 0.2.1. You can find all the new information for Templx as well as its downloads at the x++ site.
More Information You can find more information on x++, XppEngCOM.dll and Templx.exe on the x++ site at: http://xplusplus.sourceforge.net/index.htm
If you have any questions or comments please feel free to e-mail me at Kimanzi_Mati@hotmail.com.
|