Download XppEngCOM.dll

Purpose of the program
XppEngCOM is a COM object that was created to process Superx++ programs in situations where a COM object is necessary or desirable, for example, a web page, a Visual Basic application, etc. If you are using C++ it is preferable for you to simply include the source files for the Superx++ interpreter in the XppTester project that are used elsewhere.

The benefit of the COM implementation is that it affords the power of Superx++ processing to any COM client process without the hassle of knowing what is in the implementation. In a word, black-box component programming.

ProgId for the COM object
XppEngCOM.XppProcessor is the ProgId for the COM Superx++ interpreter.

Beta 0.2.4
This version contains the XppEngCOM.dll Superx++ interpeter that will interpret Superx++ programs of the beta 0.2.4 language revision. Make sure that you download the demo Superx++ programs because they have been updated to beta 0.2.4.

Download the XppEngCOM (COM Superx++ interpreter) for beta 0.2.4
The downloads for Superx++ have now been unified into two zip files. The zip files contain the necessary files as well as a README text file to instruct you in the downloads.
Superx++ Source -- contains the source files for C++ projects for Superx++
Superx++ Executable -- contains the executables for C++ projects for Superx++

Extra Setup for XppEngCOM
1) Go to the Start menu and select Run...
2) Type cmd and press Enter
3) Type in the MS-DOS console window: regsvr32 C:\XppEngCOM\XppEngCOM.dll and press Enter
4 a) If you got a message box telling you that regsvr32 was successful then close the console window because the COM object was registered successfully.
4 b) If you got a message box telling you that regsvr32 failed then make sure that the path to XppEngCOM.dll is correct and retry step 3).

What these steps have done is to register the XppEngCOM.dll as a COM object on your computer so that it can be used.

Please note that if you wish to disable XppEngCOM you should perform the same instructions above. However, when you get to step 3) you should specify regsvr32 -u C:\XppEngCOM\XppEngCOM.dll. What this will do is set things back to the way they were before you installed XppEngCOM.

To remove XppEngCOM from your computer completely, go to the Control Panel->Add or Remove Programs, and remove XppEngCOMInst from there. Make sure you have closed all the COM clients that use XppEngCOM.dll before you do this.

Calling the Program
To invoke a program using XppEngCOM.dll:
1) Create an object using the ProgId XppEngCOM.XppProcessor in a COM client (e.g. a web page).
2) Specify the Superx++ program and the input stream as XML or file paths in the parameters of the method ProcessXpp. The execution of the ProcessXpp processes the Superx++ program using the optional input stream and returns the output stream's contents. If there are no input stream parameters to be sent then simply send in the empty string "".

Special Demo Program for XppEngCOM.dll
There is a special demonstration web page that runs a client-side XppEngCOM object and processes Superx++ programs. The web page can be found in the following path relative to the directory in which you installed XppEngCOM.

Methods Implemented for XppEngCOM.dll
(string) ProcessXpp((string) aXppCode, (string) aInputStream)
   ProcessXpp() returns the output stream contents produced by the Superx++ program
   aXppCode is the Superx++ program itself or the path to the Superx++ 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 Superx++ program has finished execution
(string) GetClasses()
   GetClasses() returns the run-time class memory contents after the Superx++ program has finished execution
(string) GetException()
   GetException() returns the last exception that was raised during the Superx++ program's execution
(string) GetXin()
   GetXin() returns the input stream contents after the Superx++ program has finished execution
(string) GetXout()
   GetXout() returns the output stream contents after the Superx++ program has finished execution
(string) GetXpp()
   GetXpp() returns the (possibly modified) program after the Superx++ program has finished execution
(string) GetOriginalCode()
   GetOriginalCode() returns the original program source for the Superx++ program