4.622 Updates

This page lists changes to the 4.622 beta as they are posted. All bugs are specific to 4.622 unless noted otherwise. The 4.526 Betas have recently been updated and now contain all changes to 23rd March.

Please refer to the 4.622 Release Notes for information about this release.

Date File Description
31 Marsyslibt.dll
trmw32.dll

Two changes have been made to avoid problems that can occur if the DP4 service is stopped and restarted, but applications that used the previous instance of the DP4 service do not terminate.

  • Applications using trmw32.dll would fail to start if another application had left temporary files open. Now trmw32.dll will use a different temporary file name if it cannot open a temporary file with the desired name.
  • syslibt.dll will not permit applications to connect to a different instance of the DP4 service from the one they were originally connected to. If an application tries to do this it will always get an IPC error.

These changes were issued on 31st March, but not documented until 4th April.

14 Martcpw.w32

If a fail 9 error is returned to tcpw.w32 from a server (indicating that there is problem in IPC between tcpmgr.w32 and dp4srvr.w32 on the server) tcpw.w32 now changes the error to fail error 15.

This change was issued on 1th March, but not documented until 4th April.

31 Marprogdate.exeFiles were spuriously reported corrupt if progdate -read was used and the filename was specified in lower case.
31 Marsyslibt.dll
syslibce.dll
Change of 23 Mar sometimes caused unneccessarily long delay before DP4 would restart.
30 Martrmw32.dllPlus and minus keys did not work correctly for checkboxes with the switch yes no flag set.
Compatibilty with Windows 95 was broken by XP theme support
24 Marmapmake.exeDeleting maps with the -multilanguage option in effect could cause the usage count for controls to be incorrectly adjusted, so that controls still being used in another map might be deleted (thus corrupting the map). This bug is in all prior versions of MAPMAKE.
23 Marsyslibt.dll
syslibce.dll
If a DP4 program was started after the DP4 service began to stop it restarted DP4 service but failed to run itself. In this situation programs will now wait until they can run properly
21 Marerrlog.w32
srvw32.exe
srvw32.exe has a new option in its popup menu: "View Log File" which allows you to display the contents of the DP4 error log window. You can now always click on the close button of the errlog program. Instead of stopping the error log this merely hides the window, (unless DP4 has already terminated). In addition you can use the Delete key to clear the window, Ctrl+C/Ctrl+X to copy/cut the visible part of the window to the clipboard, and Ctrl+A to copy the entire window to the clipboard.
15 Martrmw32.dllFixed a problem with button focus that occurred when Windows XP Theme active.
14 MarVarious Preliminary support has been added for Enumeration controls. These are similar to Windows combo boxes. Internally they are implemented similarly to the inpm_e() function. However there is no special API for using the control - thus a program does not need to be aware of whether an integer numeric input is handled by entering the number directly, via a set of radio buttons, or via an enumeration control.
11 Marfixdb23.exeNew options added to allow easy standardisation of database names to various standard case conventions (PascalCase, camelCase, lower_case,UPPER_CASE).
11 Martrmw32.dllOutput created with trm_so() was not sized properly for certain choices of default font. (This bug is also in previous DP4 releases).
3 Marauxdistr.w32If an application ignored a system error encoutered when a database was accessed remotely for the first time it would subsequently get spurious system error 10 messages.
3 Martrmwce.dll
trmw32.dll
%wait option in QAB run another program now works when %document option also specified. Previously these two options were not compatible. Further changes to detach=1 option on Windows CE. DP4 did not work on Windows XP unless SP2 was applied.
25 Febtrmwce.dllDue to a difference in behaviour from regular Windows, lines in a QAB Windows that are edited in place sometimes disappeared once editing was complete.
24 Febprogdate.exe
system db
Now reports platform information for Win32 executables. This option works with any Win32 executable, not just DP4 programs, so may be useful in determining which set of DP4 programs is appropriate to a particular Windows CE platform.
24 Febtrmw32.dllCompatibility with older Windows releases repaired
24 Febtrmwce.dllSupport for detach=1 dp4.ini option added
22 Febdp4srvr.w32PARENT_CHECK flag on rec_post() was not working correctly with primary parents.
18 Febsqllibt.dllEnhancement of 16th November caused spurious XML closing tag at end of output when XML output was NOT selected.
15 Febrecastdb.exe-copydb command tail added. This command tail causes recastdb to do a structure transfer from the from database to the to database. The transfer is purely a dictionary transfer - no maps, QAB or Report Writer programs etc. are transferred. In addition there is no warning if REORGDB will be required afterwards. This new option is intended to simplify the upgrade process for systems using the "split database" facility. Typically when upgrading you issue a new "program" database, and need to apply the structure of this database to the existing "data" database.
15 Febqabutil.exe
dp4clibt.dll
13 Jan enhancement broke search for local fields. Now hides index index only tables when selecting possible table for search for database fields.
dp4clibt.dll implements a new flag: 65536 (to be named PK_RESET_JUMP) to force jump FALSE on return from pick_record() and pick_list().
10 Febprogrund.exe
ntqabd.lib
The D option in the debugger now displays database tables sorted alphabetically.
10 Febprogcomp.exe
progprn.exe
Last build could GPF due to an inconsistent build.
8 FebAll4.622 has been completely rebuilt with support for Windows XP themes. The documentation updates are not yet complete, but see a4000022 for preliminary information.
27 Jansystem database
dp4.ini
One new system message added, and several obsolete ones removed
27 Jandp4srvr.w32

dp4srvr.w32 now handles any exceptions (GPFs) it generates. If an exception arises dp4srvr.w32 will terminate and broadcase a message to shut down the DP4 service and applications. If you want the Default Windows handling of exceptions (to produce a Dr Watson log for example), you can disable the new exception handler by putting catch_exceptions=0 in the [dp4srvr] section of dp4.ini.

This change has been made to address the issue discussed in a4000028 (Dr Watson can cause 4.62x DP4 to hang). Also in 4.621a

27 Jansyslibt.dllIf a server dies (for example after a GPF) requester programs should receive an IPC error and DP4 should be shut down. This did not happen if the named connection configuration was in use and dp4srvr.w32 died while processing a request forwarded from tcpw.
26 Janmapedit.exe
usrlibt.dll
tcpmgr.w32
cpp source
DP4 behaves better if shut down when programs still running. See See A4000031 for details. Also in 621a
25 Janmapedit.exe
trmw32.dll
progmake.exe
Support added for new types of image file. MapEdit now displays textured bitmaps correctly. See E4000049 for details.
25 Jandp4srvr.w32Local resilience configuration did not work properly. Also in 621a (This is not the same problem as has been fixed in 4.621)
20 Jantrmwce.dllNew DP4.INI setting no_auto_close is now available for individual DP4 applications.
19 Jandbmslibt.dll
dbmslb95.dll
Fix for bug in data independence mechanism for new style databases which caused spurious corruption reports from DBCHECK and DP4SRVR.
19 JanN/ASince 19 Nov DP4 Terminal manager has had a new setting no_scroll_bars to control whether scroll bars appear.
18 Jan mapedit.exe
maped09.dll

There are several new enhancements to MAPEDIT which make it easier to use:

  • When you save a map you will be warned if you have used the same mnemonic on two different controls
  • An asterisk is placed at the end of the document title for any maps you are editing that have unsaved changes.
  • There are several new accelerators that allow you to bypass the menu for common commands:
    • Ctrl+B to open a database
    • Ctrl+M to open a mapset
    • Ctrl+S to save the map being edited
    • Ctrl+A to open the save as dialog
    • Ctrl+E to save all changed maps

There is also a minor bug fix: If a map contained two controls with the same field number and in the same place and the same size, MAPEDIT would previously swap the order of the controls within the map each time you edited it. This could cause problems when posting translator format map files.

17 Jan errlog.wce
srvwce.exe

Added new DP4.INI setting no_auto_close to prevent Windows CE.NET from shutting down DP4 whenever it feels like it.

17 Jan trmw32.dll

Enhancement e4000048 broke printing with DFPRINT

13 Jan qabutil.exe
system database

The find fields in procedures facility now displays the table name for database fields if more than one table may be matched.

13 Jan All CE files

The Windows CE files have been updated in line with the regular Win32 programs. A new CE set is available, built with the "ArmV4" processor option. This set of programs is designed for Intel XScale devices configured as ARM type devices running CE.NET 4.2 or later.

The new CE programs fix a bug in TRMWCE.DLL. Previously the %document option supported by QAB and DP4 menu programs did not work on Windows CE.

12 Jan All

Both the Linux and Win32 sets have been replaced with a fresh and complete build. The install program should behave better if DP4.INI starts DP4 in an unusual way.

5 Jan *.sql

The .SQL files used by SQLMAKE for customising datatypes and names changes are now included in the installation of the ODBC Gateway. An alternative version of dtypes.sql mssqltyp.sql is supplied which may be more useful than the default dtypes.sql if you are creating a Microsoft SQL Server database.

5 Jan trmw32.dll
dp4clibt.dll
C dev files

New function map_get_metrics() added to C library. Finds adjusted height of map after rows and columns added for border and title and, if MPM_PRINT flag specified, after adjusting height of rows for specified print x and y factor.

5 Jan progmake.exe
progrund.exe
System database

progrund.exe did not correctly display rolenames for tables and fields
progmake.exe now displays (part 1 of n) for entry conditions in program flow diagram.

5 Jan mapmake.exe
qabutil.exe
Did not print out change notification keys for checkboxes and radio buttons
5 Jan mapedit.exe

Did not initially allow length and precision to be set for edit fields
Did not remember some settings for checkbox fields.

2004

14 Dec dfsetup.exe

Only allowed single digit in language field. This bug was introduced in the XPSP2 bug fix of 19 August, and appears to have been caused by compilation of a source module being used for internal testing rather than the correct release source for the program.

14 Dec qabutil.exe

Reissue - version issued 10 Dec crashed when posting programs The find "maps in procedures" option would GPF if a procedure body with a blank mapname was used in more than 1000 different procedures.

9 Dec dbmslibt.dll
dbmslb95.dll

dynaback -copy makes dp4srvr.w32 GPF if the RLB file is open.

6 Dec Various

An enhancement to printing is incorprated in the 4.622 Beta which gives better results when printing maps containing boxed (and hence widely vertically spaced) edit controls to legacy print devices. See e4000048 for details, but do not use the download there.

16 Nov sqlexe.exe

SQLEXE will now create XML format output if you supply -xml command tail. The output is created with a .XSLT stylesheet that formats the output as a quite elegant HTML table. (See Example)

It should be noted that this style of output only works in some browsers (Internet Explorer 6, and current Mozilla/Firefox are known to work, Opera 7 and Internet Explorer 5.5 are known not to work). Normally you would convert the XML to HTML on the server. (This is quite easy, at least on machines with Internet Explorer 6 installed.)

By editing the SQLEXE.XSL file and the SITE.CSS file you can modify the appearance of the output.

See the updated documentation for UNLOAD for ways to control the element names used in the XML output. (This documentation will shortly be moved to a more sensible place)

12 Nov unload.exe

UNLOAD can now create XML files. See the updated UNLOAD entry in the DP4 Quick Reference.

9 Nov mapedit.exe

If an error due to a missing record on the database occured when loading the first map to be edited a GPF resulted.

4 Nov progmake.exe

After using either of the "Compiled Changed Programs" options from within PROGMAKE, subsequent changes would not necessarily flag the programs as needing recompilation again. Note that a similar bug still remains - if you compile just the program being edited then this program will not necessarily be marked again as needing recompilation if you continue to edit the program.

3 Nov dbmslibt.dll
dbmslb95.dll

"Part" in log file header was not initialised correctly. This would possibly stop dbrestor from applying log files backed up to multiple parts from restoring correctly.

3 Nov auditor.exe

Version posted yesterday GPFed as soon as log file was opened.

2 Nov Win32 installation

The install program now correctly installs example databases that had been temporarily removed from the previous Beta.

2 Nov dbrestor.exe

Did not restore backups created with previous releases of DBBACKUP reliably.

28 Oct reorgdb.exe

Converting a database from one of the new database structures to a 4.62x compatible structure created a database where the data file checksum was incorrect.

27 Oct N/A

Windows CE Betas made available. Currently only the ARM version has had any testing, and only a cursory amount of testing has been done as yet. The regular Windows Beta has also been updated in order to ensure that the Windows CE and Windows releases match.

22 Oct progcomp.exe
System database

Summary information for compilation changed: Compiled Ok count now only includes programs that compiled with no warnings or errors. Programs that compiled with warnings or errors are shown separately next to "Compiled with warnings".

11 Oct bd

Network table structure in dictionary did not match real use of table. This bug is long-standing but of little importance. The fixnet program (supplied with all DP4 releases) can be used to correct this.

21 Oct dp4srvr.w32

New Enhancement. Change to behaviour of EQUAL search incorporated into release 4.622.

18-19 Oct Various

New Enhancement. QAB User Interface Enhancements incorporated into release 4.622.

18-19 Oct dbmslb95.dll
dbmslibt.dll
dp4srvr.w32

4680 Basic databases with Long Integer reals were not working any more
Post with PARENT_CHECK where parent tables also posted could cause dp4srvr.w32 to hang or crash
kill(,ORPHAN_CHECK) where grandchild table had matching data did not cause commit failure any more.

13 Oct dp4srvr.w32

Fix for GPF.

13 Oct collate.exe

Had not been updated to work with 4.622 index files.

15 Oct dbmslb95.dll
dbmslibt.dll

Fix for GPF on Windows 9x.

13 Oct dp4srvr.w32

Fix for GPF.

12 Oct dp4srvr.w32

Substitution of primary for secondary indexes was not working correctly, which caused SETLINK not to display all indexes.

05-08 Oct Various

First beta posted did not work at all on Windows 95 and was very slow on Windows 98/Me.
Reorganisation after changes requiring data independence was not working properly.