DWS - Delphi Web Script

DWS brings pascal the language of Delphi™ into the world of server side OOP scripting. DWS is a set of a main scripting engine and additional components that let you extend the scripting dialect with Delphi (or C++) hard wired subroutines.

DWS makes it possible for you to build your first CGI/ ISAPI/ NSAPI app within 5 minutes. Includes all you need to build a professional web application and supports native database connections.

DWS was invented by Matthias Ackermann (Switzerland) and Hannes Hernler (Austria), based on Ackermanns TScript component.


  • DELPHIwebscript language is easier to read and to train than PERL
  • delphiWEBscript is integrated in HTML code like PHP or ASP
  • delphiwebSCRIPT is as flexible as a webdesigner needs and as fast and powerfull as a Delphi developer can manage.
  • TDelphiWebScript lets easily controll access and security levels of script programmers and online users

With VCL-TdwsFunc and TdwsLib components you can add functions to the script language that are hard wired in eventhandlers in a compiled Delphi module (CGI, ISAPI, http server ...) where you can enhance or suppress access to anywhere.

www.dwscript.com gives examples how DWS works in an ISAPI module on MS-IIS4.0 with database connection to Interbase 5.5 via IBObjects.

DWS - Web Features

The main script engine is a VCL component TDelphiWebScript that is used similar to TPageProducer. A HTML page with embedded scripts is loaded into TDelphiWebScript and executed. The result string that is generated by TDelphiWebScript is the content that is sent back via webserver to the client - browser.

The number of functions and procedures in the script dialect can be extended by adding TdwsLib components to your project. There are Libraries with disk file, database, maths, string support and many more.

In designtime and runtime you can add functions and procedures to the script dialect. You simply insert some TdwsFunc components into your project and write eventhandler routines for the TdwsFunc.OnEvalEvent.


While the integrated script engine gives you flexibility for webpage design you get the performance you need by coding critical parts hardwired into your application.

With VCL-TdwsFunc and TdwsLib components you can add functions to the script language that are processed by eventhandlers in the compiled Delphi module (CGI, ISAPI, http server ...) where you can enhance or suppress access to any resource. With your own set of TdwsFuncs, you can increase performance of database connections or critical code sections as it is possible on your plattform.


The basic DWS has not to be ready for all kinds of problems like other script languages so access to resources besides the varaibles in the script is restricted. If you need script access to any other resource you have to develope a distinct interface. Itīs easy to achieve with TdwsFuncs or custom TdwsLibs and makes security adjustable very fine.

OpenSource Project

We want DWS to grow and become an excellent alternative to WebBasic dialects or unstructured hompage programming engines. This can only happen when DWS is stable and meets many distinct needs of different web applications. So DWS needs more developers than we are. For this reason we publish DWS according to the OpenSource License "Mozilla Public License 1.1". Please join our OpenSource Project!

Free DWS ISAPI module

Free DWS ISAPI is a compiled ISAPI module installable like MS ASP scripting engine (asp.dll) oder MS ServerSideInclude module (ssinc.dll). Implemented are functions of TdwsUtilLib and TdwsISAPILib but no file access (security).

TdwsLibs and 3rd Party dwsLibraries

We are still working on some more shareware/commercial TdwsLibs and encourage devlopers to present and sell their functions and libraries on www.dwscript.com

DWScriptIDE - Integrated Development Environment for DWS dialects

DWScriptIDE is a script editor that lets you edit and test your scripts in real time on your PC and preview the results with a webbrowser. The editor controls show colored tag/script highlighting, webpreview uses the installed IE4+.
Implemented in the script engine are functions of TdwsUtilLib and TdwsISAPILib (with POST action interface) and TdwsFileLib (disk access).