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.
For DP4 networking the only network protocol that will be supported is TCP/IP.
The WIN1632W program that allows old 16 bit Windows DP4 programs to run is not supported. It works, but with the following limitations:
You may find that if DP4 is run as an automatically started service that an SVCHOST.EXE process is created that consumes ever increasing amounts of memory and CPU. This is undoubtedly a bug in Windows XP.
If DP4 is started manually, users on other computers may not be able to connect to TCPMGR on an XP computer. Usually connections to TCPMGR will initially be possible, but it will not be possible to connect once a USB device (for example a USB Flash Drive or a Handheld device) has been plugged into the computer.
The cause of both these problems is that if TCPMGR is run as part of the DP4 service, then DP4 will usually be using TCP/IP port 5000. Unfortunately there is a Windows XP service called SSDP Discovery (used by Universal plug and play) that fails to start if DP4 is using port 5000. The SVCHOST process for Local Services continually tries to start the SSDP service (10 times a second for ever). This has two very bad consequences:
There are several work arounds for these two problems:
The simplest work-around is to stop and restart the DP4 service, or to allow it to start manually. This is OK as long as you will be running as a local administrator. Power users can start the DP4 service from control Panel, or with the command net start dfsolutions but not using srvw32.exe -start unless you have upgraded to release 4.621. However, starting DP4 manually like this is probably not an option if you want to run TCPMGR as part of the DP4 service, because if the SSDP discovery service is running it will conflict with TCPMGR, and users may not be able to connect properly.
You can disable the SSDP service. This is OK as long as you do not need Universal Plug and Play. A number of Security flaws have been fixed in this service, so many people choose to disable it anyway. A good site for learning about the many mysterious services in Windows XP is www.blackviper.com. Note that disabling this service usually has no effect on USB devices - you will still be able to insert and eject them, and they will usually work perfectly well without this service.
You can tell TCPMGR and TCPW to use a different port number by supplying the -socket command tail on TCPW and TCPMGR. For example -socket 6000 does not seem to cause conflicts. You can find a list of what software uses what ports on www.iana.org. Obviously this may be inconvenient if you already have a large roll-out of DP4 using port 5000, because all the client machines need a configuration change.
The original 4.619 release of DP4 does not work on Windows XP Tablet PC edition, at least on the machine we tried it on. This is due to a bug in trmw32.dll. A fix is available. See E4000010. For 4.619 only it is also necessary to delete the splash.bmp file, as otherwise DP4 applications do not activate properly when first started. In 4.620 the splash screen works correctly.
If the Display Properties Appearance dialog is used to change the XP theme while the DP4 errlog program is running Windows will hang for approximately 30 seconds. Windows will hang for approximately 30 seconds. We have no idea why this should be - the problem does not occur with "Classic" type styles, only XP themes.
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.
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.
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.
Add an application manifest. If you are building your own EXE applications then you need to add a special resource to the program in order to tell XP that your application can work with the XP user interface.
Without this resource your application will continue to use the traditional user interface even if the user is using an XP theme. Please consult the following page on MSDN for details of creating a manifest:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/xptheming.asp.
The 4.622 release includes a sample resource file and manifest.xml file in the SRC subdirectory.
Microsoft have decided that 3D interfaces are old fashioned and that "flat" user interfaces are high tech and futuristic. The DP4 configuration setting flatten_dialog can be set to 1 to tell DP4 to draw things that would normally have a 3D look with a flat look instead. (This is not applied totally consistently yet, but will flatten edit controls and map borders). By default, this option is only applied when an XP theme is in effect. To apply it always set flatten_dialog=2.
For applications with a manifest and when the user has an XP theme DP4 will automatically use XP style radio buttons, check-boxes, and title bars if appropriate, unless you set xp_interface=0 in the appropriate section of DP4.INI. However, DP4 continues to calculate control sizes in exactly the same way as before, so in some cases the results may be slightly different from a "standard" implementation.
For push buttons only, DP4 continues to use the existing implementation, unless you change buttonstyle to 3,4,5 or 6. The reason for this is that DP4 applications commonly use coloured buttons to provide a visual clue as to the purpose or importance of the button. Microsoft have omitted to provide any way for an application to change the background colour of a standard XP style button. Therefore if you choose to use XP style buttons you will have to accept this limitation for the time being. If buttonstyle is 3 DP4 uses XP buttons if the button uses the default colour scheme and an XP theme is active , but if the button has a custom colour scheme or there is no theme it uses Windows 9x/2000 style buttons. Button style 4 is similar but DP4 skinned buttons are the fallback. A new set of skinned buttons is available which look fairly similar to XP style buttons in any case, and you will probably want to use these if you want the XP look. Buttons styles 5 and 6 always uses XP style buttons if an XP theme is in effect even if the button has a colour scheme.