Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Dr.Bob's Delphi Notes TurboDB.NET Delphi books at
 Delphi 7 and Apache 2.0.40/.63 (and higher)
See Also: Delphi Papers and Columns
As you may know, Delphi 7 ships with Apache 2.0.39 support, and won't work with .40 due to interface changes done by Apache. Here is what you need to change to support 2.0.40 up to 2.0.63 (released January 2008).
 Dr.Bob's ** Book Top 3 ** 2003: 
  1Delphi 6 Developer's Guide
  2C++Builder 6 Developer's Guide
  3Kylix Developer's Guide

Note that I have tested this, and look at the structures in memory (they appear correct; it is easy to see when they are not correct), however, it is untested and is an "unofficial fix".

Dr.Bob says... Note that in order to make this patch work with the latest release of Apache (version 2.0.41 or higher), you have to change MODULE_MAGIC_NUMBER_MAJOR to 20020903 (instead of 20020628) to make it work.

Before you modify HTTP2D.pas make sure you have a backup of the original file as well - just in case. After you've modified HTTP2D.pas, you have to make sure that this file is "found first" by your web project, which can be done in a number of ways. The safest is to place the new HTTPD2.pas in your project directory itself, so only this project will use the modified VCL file.
Alternately - a more dangerous approach - you can rename the HTTPD2.dcu file in the Lib directory (for example to HTTPD2.dcu_) and place the new HTTPD2.pas file in the Lib directory, so Delphi will recompile it when needed.

Note that anything you change in the "official" Delphi directory is "dangerous", since official patches from Borland will only patch original untouched files. So I personally always make local copies of modified VCL files (and add them to the project directory only).

Update: note that you may also need to recompile the ApacheTwoApp.pas and ApacheTwoHTTP.pas files (because they depend on the changes in HTTP2D.pas). So, you may want to copy these two files the LIB directory and rename their .DCU counterpart to .DCU_ as well. Then, do a Build All (so the new .dcu files are generated). That should work (I just rechecked it on a clean configuration).

See Leonardo's Blog for Apache 2.2.x support.

This webpage © 2002-2015 by Bob Swart (aka Dr.Bob - All Rights Reserved.