Download XppDemo

Purpose of the program
XppDemo is a package that contains various demonstration Superx++ programs that you can use to learn the Superx++ language. They are quite useful and I recommend using them as a starting point in your learning. Feel free to adapt them for your own use in developing web and client/server systems.

Beta 0.2.4
This version contains the XppDemo directory with demo Superx++ programs that are based on the Superx++ beta 0.2.4 language revision. These are the same files as existed for previous beta versions but have the syntax revisions. There are also some new demo programs included as well.

Download the demo programs 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. The XppDemo folder is included in both 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 ISAPI Use
XppEngFilt.dll is an ISAPI filter which can be used with Microsoft Internet Information Services (IIS). What XppEngFilt.dll does is trap all incoming HTTP requests. If the web resource at the requested URL contains Superx++ programs (wrapped in the <xpp> ... </xpp> tags) then that Superx++ code is processed first before the HTTP response is sent to the HTTP client. In short, this enables you to embed Superx++ in your HTML pages, for example, to process Superx++ code on the web server.
1) After installing XppEngFilt.dll you will need to make C:\XppDemo a virtual directory in IIS. I recommend using XppDemo as the name for the virtual directory.
2) Give the appropriate security access to the web folder. I recommend Medium pooled.

Calling the Program
These programs can be run by any of the run-time engine implementations. Below are the steps for running them using XppEngFilt.dll and XppConsole.

To invoke a program using XppEngFilt.dll:
1) call a URL on a web server which has XppEngFilt.dll installed.
2) the arguments of the URL will be converted into the input stream XML for the Superx++ programs on the web resource at the URL. In other words,
http://MyServer/MyDir/MyPage.htm?i=23&j=37&status=current
will produce the input stream:
<urlXin>
   <i>23</i>
   <j>37</j>
   <status>current</status>
</urlXin>

This input stream XML will be used in the Superx++ code in MyPage.htm.
3) If there are no parameters to the URL then the input stream is empty.

To invoke a program from XppConsole, enter one or more of the arguments that you need in the command line. All the arguments are optional. The arguments are:
1) the first argument in the command line is the Superx++ program, specified as actual Superx++ code or the path to the file containing the Superx++ program
2) the second argument is the input stream to be passed into the Superx++ program, specified as actual Superx++ code or the path to the file containing the input stream
3) -m {file} = save the run-time memory to the {file}
4) -c {file} = save the class run-time memory to the {file}
5) -o {file} = save the output stream contents to the {file}
6) -i {file} = save the input stream contents to the {file}
7) -p {file} = save the current definition of the Superx++ program to the {file}
8) -e {file} = save the last exception to the {file}

The following call specifies all the arguments and will open the GUI. Please note that for this call to work, you will need to have C:\XppDemo in your PATH environment variable, or you will have to be in the directory in which the XppConsole.exe is. Alternatively, you can specify the path to the XppConsole.exe in the call itself:

XppConsole C:\XppDemo\test4.xml C:\XppDemo\MyParms.xml -m C:\XppDemo\MyMem.xml -o C:\XppDemo\MyOut.txt -i C:\XppDemo\MyXin.xml -c C:\XppDemo\MyClasses.xml -p C:\XppDemo\MyXpp.xml -e C:\XppDemo\MyExcept.xml -show