DP4 on Windows XP and Windows 2003

The regular Win32 version of DP4 works on Windows XP, either Home or Professional versions, and on Windows 2003 Server. Versions 4.523/4.619 and beyond will be supported, with the following limitations.

ODBC is supported. The ODBC configuration dialogs are accessed via the Administrative Tools option of Control Panel (as in Windows 2000 - and you can use Power Toys to put it back in Control Panel). At the time of writing accessing DP4 databases on a Web Page via ADO has not been tested on the Windows XP version of IIS, but we intend to support this.

Legacy versions of DP4

The Win16 version of DP4 does not run at all on Windows XP, except that you can run 16 bit applications using WIN1632W. The cause of this is that Microsoft have made an undocumented change to the Win16 Local Heap: the minimum heap size has been increased to 256 bytes. Many DP4 applications specify an initial local heap of 128 bytes. Windows XP silently tries to increase the size, and encouters a segment over-run. 16 bit DP4 runs reasonably well on all previous Windows 9x versions, NT and Windows 2000, though it is not supported. If anyone is interested the 4.621 Kentcurs can modify the application header to make the applications work. The same technique may well work for other 16 bit apps broken by XP.

The MS-DOS version of DP4 runs on Windows XP but is not supported. The DOS network programs have not been tried by us and almost certainly do not work. Instead we can supply a program which allows MS-DOS DP4 programs to access DP4 databases via the Win32 DP4 service. (This program also works with Windows NT and 2000)

It should be noted that unlike Windows NT/2000 Windows XP does not support OS/2, and does not support NetBEUI protocol.

Support for XP style User Interface

Prior to Release 4.622 DP4 does not support the Windows XP style user interface at all, only the classic user interface. DP4 Windows and controls are not standard Windows controls but are entirely managed within DP4. This is because DP4 users expect to have full control over the fonts,colours and exact sizes of everything that appears on screen, and Windows controls make this difficult or impossible to achieve. DP4 uses Windows APIs such as GetSysColor(), DrawFrameControl() and so on, to determine what Windows controls should look like and therefore to imitate them accurately. Microsoft have failed to make these APIs work with the Windows XP user interface. Instead they have implemented an entirely new "Theme" interface, which is poorly documented. However, as of release 4.622, DP4 can fairly closely approximate the Windows XP look.

The following instructions are a brief summary of what you need to do to give your DP4 applications an XP user interface.