List of Fixes for SPEED Ferret 4.0 (SR-1)
Article ID: SFKB0036
Last Reviewed:   February 3, 2002
Applies To:   SPEED Ferret 4.0

Installation

Determine whether you need the update All users of SPEED Ferret 4.0 are urged to install this free update which provides increased performance and reliability. To determine which version of SPEED Ferret you are currently running, start SPEED Ferret, go to the Help menu, and open the About SPEED Ferret dialog box.
Make certain you know your serial number and license key After installing SR-1, you will need to re-enter your SPEED Ferret serial number and license key. You will find this information on the inside cover of your SPEED Ferret 4.0 CD-ROM jewel case. If you purchased the download-only version of SPEED Ferret 4.0 directly from Black Moshannon Systems, you will find this information in the letter that accompanied your invoice.

Do not proceed until you are sure that you know your serial number and license key!
Download the file The complete setup package (sf402116.exe) is 10,769,317 bytes in size. We recommend that you verify the file size after downloading to make certain that your web browser got the complete file. To check the size, right-click on the file sf402116.exe and select Properties from the popup menu.
Remove SPEED Ferret 4.0 Before installing SR-1 you must remove your previous copy of SPEED Ferret 4.0. Go to the Control Panel and select Add/Remove Programs. Then remove SPEED Ferret 4.0.
Install SPEED Ferret 4.0 SR-1 Install SPEED Ferret 4.0 SR-1 by running sf402116.exe.

New Features

Verification Error Override SPEED Ferret verifies replacements by reading back the modified properties and comparing them to their expected values. Sometimes when SPEED Ferret assigns a new value to a property, the value is reformatted by the program that stores it. For example, Microsoft Access sometimes reorders the fields in a WHERE clause. This causes SPEED Ferret to report a verification error, because the actual and expected values of the property do not match.

The Save Replacements and Undo Replacements dialog boxes now provide an option to Ignore Verification Errors. It is recommended that you employ this option only after you have attempted the replacements and reviewed any verification errors to ensure the errors are benign
Performance Profiler A new profiling system tracks the number of invocations and total execution time for almost every subroutine in SPEED Ferret. This feature is normally disabled, and is mainly intended for our own internal use. But if you should happen to encounter a performance issue, this feature will allow us to more effectively troubleshoot the problem.

To enable the performance profiler, go to Tools>Options>Diagnostics. SPEED Ferret runs more slowly when profiling is enabled, so you should not use this feature routinely.
Save Problem Log As HTML You can now save the SPEED Ferret problem log to an HTML file. This facilitates reporting a problem to our tech support department, and helps us to more quickly troubleshoot your problem.
Problem Log Written To File On Exit If a problem prevents SPEED Ferret from starting, or if a problem occurs during shutdown, you may be unable to review the SPEED Ferret problem log. In order to allow effective troubleshooting for startup and shutdown issues, SPEED Ferret now automatically saves the problem log to an HTML file on exit. The file is named ProblemLog_OnExit.htm and it is placed in the SPEED Ferret Data Store directory.

Enhancements

Installer SPEED Ferret 4.0 SR-1 uses Windows Installer 2.0 for increased reliability and 10% smaller download size due to improved file compression.
Performance SPEED Ferret 4.0 has been internally restructured to improve performance.
  • An improved driver interface uses fewer out-of-process OLE Automation calls, thereby increasing performance.
  • The Activate and Deactivate commands have been eliminated. Access and SQL Server projects are now automatically deactivated when not in use to minimize run-time memory requirements. NOTE: VB sessions are not automatically closed because significant time is required to reopen them.
  • An Access session is no longer required to inspect backend Access databases containing only tables, queries, and relationships. SPEED Ferret now requires only a DAO connection for this purpose, which is much faster and uses less memory.
  • An Access session is no longer required to list the objects in an Access database, and a VB session is no longer required to list the objects in a VB project. As a result, you can now view the names of objects in the project window and in the Object Filter Builder drop-down list without causing Access or VB to start up.
  • SPEED Ferret now exits faster, because it doesn't have to close a lot of active projects.
Help Window Placement The Help window is no longer a child of workspace window, meaning that the workspace window can now be placed in front of the help window if desired.
Interface Status Terminology The Status of interfaces in the Interfaces tab were previously listed as 'Needed' or 'Unneeded'. These terms have been changed to 'In Use' and 'Unused' to more clearly describe their meaning.
OLE Request Pending Message SPEED Ferret is a single-threaded program. This means that whenever SPEED Ferret makes an OLE Automation call to Access or VB, SPEED Ferret's user interface will be unresponsive for a brief period of time until the Automation call is completed. Occasionally an Automation call may take several seconds to complete. If you attempt to interact with SPEED Ferret at one of these times, the OLE Automation subsystem will display a dialog box informing you that SPEED Ferret is waiting for the Automation call to complete. In the past this message was cryptic and confusing, and provided useless 'Switch To' and 'Retry' options. The message now clearly explains what is happening, and provides the only meaningful option which is 'OK'. A 'Cancel' option is not provided because the OLE Automation subsystem doesn't support it.

Bug Fixes - Access Specific

Access 2000 Product Name Not Recognized Most copies of Access 2000 are installed under the name 'Microsoft Office 2000'. But some copies are installed under the name 'Microsoft Access 2000', a name that SPEED Ferret previously failed to recognize. This caused SPEED Ferret to report that Access 2000 was not installed. SPEED Ferret now recognizes both forms of the product name.
Access 2000 Decimal Field Type SPEED Ferret no longer reports an error when it encounters an Access 2000 table containing a Decimal field. Decimal fields are now fully supported except for the Scale property which is unreadable due to an apparent bug in DAO.
Benign Errors SPEED Ferret was reporting benign errors for several properties in Access databases, including:
  • The RecordLocks property of an Update query
  • The AutoExpand and OnNotInList properties of a ComboBox used on a report
Benign errors occur when SPEED Ferret attempts to read the value of a property that is not defined for the particular object being inspected. All benign errors have been eliminated, and we are now using automated testing procedures designed to ensure that this problem does not occur in the future.
Picture Property SPEED Ferret now inspects the Picture property of Access Forms, Reports, and Controls. This was mistakenly omitted in the original release.
Objects Under SCC Appear As Read-Only Objects under Source Code Control sometimes appeared as read-only objects in SPEED Ferret even though they were checked out to the current user. This problem has been corrected.
Macro Inspection In Localized Versions Of Access 2000 While inspecting Macros in an Access 2000 database, SPEED Ferret reads localized information from the file MSAIN900.DLL. The location of this file depends upon which localized version of Access is installed. SPEED Ferret was previously having trouble locating the file for some versions of Access. This problem has been corrected.
Null Fields In Import/Export Specifications Import/Export specifications are stored in Access system tables. When an Import/Export Specification is imported into an Access 97 or Access 2000 database from a previous version of Access, some of the fields may contain Null values. This previously caused 'Invalid use of Null' errors. The problem has been corrected.
Reconstitution of Linked ODBC Tables The last step in saving replacements is to reconstitute the affected objects. For linked Access tables, this means calling the RefreshLink function to update the table's information about the backend table. This step is not necessary for linked ODBC tables, and it was causing errors when performed. SPEED Ferret no longer performs this unnecessary step for linked ODBC tables.
Duplicate Section Name Attempting to replace an Acceess form or report section name with a name that is already in use resulted in the display of a modal dialog box. This has been corrected.
Lingering References SPEED Ferret no longer uses an MDE file when searching an Access 2000 database. In the past, SPEED Ferret created a reference to this MDE file whenever an Access 2000 project was activated. This reference prevented other users from using the database while you were inspecting it using SPEED Ferret. And if SPEED Ferret failed to deactivate the project for any reason, the reference remained in the database and continued to make the database unavailable to other users.

SPEED Ferret now uses the COM AddIn mechanism to accomplish the same things that the MDE mechanism provided. This change only applies to Access 2000, because the COM AddIn mechanism is not supported in Access 97. When searching Access 97 projects you still have to be aware of the Lingering Reference issue.
Popup Window Status SPEED Ferret no longer closes your Access popup windows (e.g. Properties, Sorting & Grouping, Field List).

Bug Fixes - SQL Server Specific

Nonstandard SQL Server Database Name SPEED Ferret is now compatible with SQL Server databases whose names begin with a digit or contain nonstandard characters.
Quoted Identifiers The SQL Server 6.5 driver now handles quoted identifiers, allowing it to work with names containing spaces and other nonstandard characters. The SQL Server 7 driver continues to handle quoted identifiers properly, as it did in the past.

Bug Fixes - VB Specific

VB Driver Options Not Retained VB5 and VB6 driver options are now properly retained.
VBW File Is Read-Only Each VB5 or VB6 project normally has an associated VBW file which records the locations and sizes of the Forms, Modules, and other windows that are open in the VB IDE. SPEED Ferret reads and rewrites this file for the purpose of closing any objects that were left open. This helps to reduce the time required for SPEED Ferret to activate your VB projects.

If for some reason the VBW file happened to be marked as a read-only file, this previously caused SPEED Ferret to report an error, and prevented SPEED Ferret from activating the project. SPEED Ferret now checks the read-only status of the VBW file and leaves the file unchanged if it is read-only.
Missing Components Before opening a VB project, SPEED Ferret reads the VBP file and verifies that all of the referenced components are present. Under certain circumstances, SPEED Ferret previously reported errors when none existed. This problem has been corrected.

Bug Fixes - Printing

Orientation Property Not Retained The Orientation setting in the Print Dialog is now properly retained when you click the Set As Default button.
Run-time Error 380 In the Rendering tab of the Print Setup dialog it is possible to select the Printer and Paper Source. If you selected a Paper Source and then selected a different Printer, SPEED Ferret continued to use the Paper Source from the previous printer. If that Paper Source didn't make sense for the new printer, then you were notified of run-time error 380. This problem has been corrected.
Printing Text Containing Isolated Carriage Returns When printing search results containing isolated carriage return characters not paired with linefeeds, SPEED Ferret previously reported an error related to a buffer overflow situation. This has been corrected.

Bug Fixes - Search Results

SHIFT-F1 In Search Window Pressing SHIFT-F1 in the Search window now invokes the Help system, as it should, instead of generating an error.
Cell Editor Cursor Position The cursor is now repositioned to the beginning of the text in the cell editor each time that you select a new cell in the datasheet. The cursor position was previously left unchanged as you navigated from cell to cell.
Vertical Scrollbar Thumb Height When viewing search results, the size of the thumb control on the vertical scrollbar is now resized appropriately when you change the current view.
Column Resizing When sizing columns to fit in the search results, an error occurred if any of the visible rows contains a text value exceeding 32,767 characters. This has been corrected.
Range Setting In Export Dialog The Range setting in the Export dialog is now properly initialized to a default setting.

Bug Fixes - Other

E-mail Problems During User Registration User registration data is now transmitted via FTP. This was previously implemented by submitting the registration as an e-mail message using Microsoft's MAPI control. This technology proved to be incompatible with some e-mail clients. We adopted the FTP approach because it is directly supported by the operating system and it does not involve the e-mail client software.
Root Level 'My Documents' Folder SPEED Ferret no longer reports an error when the My Documents folder is mapped to the root level directory of a drive.
Substring Replacements Substring replacements now work correctly. There was previously a problem such that only the first substring in a sequence was being substituted in the replacement value.
Repeated Calls To Automation Interface If you wrote a program to control SPEED Ferret through its OLE Automation interface, and your program repeatedly created and released sflib.Workspace objects, this sometimes resulted in run-time errors. This problem has been corrected.