Skip to content

Combine Delphi and HTML code in the same source files to compile a website into a library that runs on IIS, Apache httpd, CGI, SCGI, on http.sys or raw no-frills HTTP...

master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

README.md

xxm

xxm enables you to create dynamic websites in Delphi, combining both Delphi and HTML in the source files. The project is compiled into a module, ready for use by a pluggable protocol handler in Internet Explorer, an ISAPI Extension, an Apache module, with HTTPAPI, with CGI or SCGI, or a stand-alone HTTP server. (Perhaps more in the future or by other parties.)

How does it work?

An xxm project contains source-files that hold both HTML and Object Pascal source code. These are converted (e.g. by the auto-compile on refresh feature) into a plain Delphi project, which is compiled into a xxm Library (with the `.xxl` file extension). This xxm Library can be loaded by one of the xxm handlers:
  • an ISAPI extension that plugs into IIS
  • an Apache 2 module
  • a process that uses HTTPAPI (http.sys)
  • a stand-alone basic HTTP server
  • an old-fashioned CGI application
  • an SCGI server process
  • ... (perhaps more later)

Most handlers are available in these forms:

  • no extra's: the handler loads one or more xxl's and keeps them loaded until shutdown
  • auto-compile: the handler checks if source-files are modified, and parses and compiles the project (great for development!)
  • auto-update: the handler checks for a name.xxu file, if present requests are stalled until the xxl can get overwritten by the xxu file (great for live environments!)

To get started, download the binaries or follow the get started screenshot tutorial.

bitcoin accepted

Gitter

About

Combine Delphi and HTML code in the same source files to compile a website into a library that runs on IIS, Apache httpd, CGI, SCGI, on http.sys or raw no-frills HTTP...

Topics

Resources

Packages

No packages published

Languages