Patches/Updates

BC++ 5.02 Available
BC++ 5.02 is now available. Check with Borland customer service or your local Borland representative for details. This release is primarily designed to make BC++ and C++Builder compatible. Numerous bugs were fixed as well as a few IDE enhancements. The big news is that BC++ now includes an incremental linker (ILINK for short). ILINK takes a little longer on the first build and after a Build All, but after that the links are lightning fast. On the downside the ILINK files can be quite large. Be sure to delete any *.il? files for old projects you are no longer using regularly. Also, be sure to build your application without ILINK for any final builds.

5.01 Note: There is no patch to go from 5.0B to 5.01. Call Borland Customer Service if you don't have the 5.01 update CD.

Borland appears to be implementing an agressive patch policy with the release of 5.0. To date two patches have been released. You should apply all patches as they are made available. Patches are to be applied sequentially (patch 1 followed by patch 2, etc.). Patch 2 requires PATCH.EXE version 3.2 which is not on the CD. You can use Patch 3.2 for all of the patches.

If you are using Win95 you may also want to apply any patches available for Win95. You can find them at the Microsoft web site.

NOTE: PATCH 3.20 may fail if it encounters any read-only files. Before running Patch.exe you should check your BC5 files for any having the read-only attribute set. In addition, any DLLs loaded into memory will not be able to be patched. We highly recommend a clean boot before applying patches.

Available Patches for BC++ 5.0
Download BC++ 5.01 Patch #1 (1 MB) (NOTE: For 5.01, US Version)
Download BC++ 5.0 Patch #1 (1.5 MB)
Download BC++ 5.0 Patch #2 (1.0 MB)
Download BC++ 5.0 OWLEX.ZIP (Patch.exe not required, 61K)
Download BC++ 5.0 BCERRMSG.ZIP (Patch.exe not required, 238K)
Download DLLMIXEX.ZIP 
(Allow exception handling to work on BC++ DLLs called from non-BC++ apps)
Dowload BC50DBCS.ZIP (Allows double-byte character support for RW)

Download PTCH_UTL.ZIP (Patch v. 3.20, PatchNT, Patchw32.DLL, 133K)

First Patch for BC++ 5.01 Available
This patch has two parts--the actual patch and a second zip file containing some new VDBT dlls. Most of what the patch addresses are Resource Workshop fixes and enhancements. This patch is only for the U.S. version of BC++ 5.01. Download now (1 MB).

Do I Need the Patch?
You may or may not need a particular patch depending on when you purchased 5.0. To determine whether or not you need to apply the patch look at the version number in the About dialog. It will show one of the following:

Version 5.0 - No patches have been applied. Apply patches 1 and 2.
Version 5.0A - Patch 1 has been applied. Apply patch 2
Version 5.0B - Patches 1 and 2 have been applied. Get the 5.01 update CD.

Version 5.01 - Apply BC501P1.RPT (Patch 1 for version 5.01)
Version 5.01A - No patches required.

Patches must be applied in order.

Dialog Editor Crashes After Applying Patch 1
This is uncommon but has occurred on a couple of occasions that I am aware of. The only fix that I know of is uninstalling 5.0 completely, and then reinstalling and immediately applying the patches.

Problems with PATCH.EXE 3.20 (crashes or hangs)
Try the following suggestions:

1. Before running the patch you should check your BC5 files for any having the read-only attribute set. The patch may file if it encounters read-only files. Before running patch clear the read-only attribute from all files by typing the following from a DOS prompt in your \bc5 directory: 

attrib *.* -r /s

2. Win95 users should try PATCH_NT.EXE (available here) under Win95.

3. We suggest that you only run the patch from the \bc5 directory. Copy both patch.exe and the patch file to that directory and run it from there. In some cases it may be necessary to reboot and run the patch from DOS mode. Running PATCH_NT should make running the patch in DOS mode unneccessary.

4. Carefully watch the two prompts which ask for your \windows\system directory. In some cases the second prompt incorrectly identifies your system directory. Be sure you enter the correct information for each prompt.

Installation and General Issues

Floating Point Problems with Win95/NT 4
There have been various reports that strange floating point errors occur under Win95. For whatever reason, some Win95 and MS add-in software affects the floating point unit (FPU) leaving it in a different state. It may not be obvious what the cause is and it affects both 16 & 32 bit programs. For example, simply using the common dialog for opening files may be sufficient to trigger the problem (even when cancelling out). If you have such an error you can work around it by calling _fpreset() (using #include <float.h>) [or] after a known access to a problem, before attempting floating point calculation. This may apply to NT 4 - any reports appreciated.

Note: this is in addition to the original SAGE.DLL FP problem that was fixed with Win95 Service Pack 1.

QuickSite Software Missing from 5.01 CD
Some 5.01 CD were accidentally shipped without the QuickSite Software. If you do not have a QuickSite directory on your 5.01 CD call Borland Customer Service for a replacement CD.

Static Libraries Built in 4.5x Can't be Read in 5.0 Programs
This is documented in the README.TXT file. The bottom line is that name mangling has changed to include the calling convention. From the readme file, "You need to recompile the old code with the new compiler, or use the -VC backward compatibility switch to inhibit the new mangling."

Installing 5.01
In general read the INSTALL.TXT and README.TXT files. Here are the high points of INSTALL.TXT:

bulletDo not install Borland C++ 5.01 over previously installed Borland C++ directories.
bulletWe recommend that you do not install Borland C++ to a path that contains spaces or long filenames.
bulletTo avoid potential conflicts when Setup installs system files, we recommend that you close down all other running applications before installing Borland C++.
bulletTo update from Version 4.5 or earlier, you need to delete the old version of Borland C++ from your system before installing Version 5.01. See INSTALL.TXT for more info.
bulletTo update from Version 5.0, copy the latest uninstall program, BC5RMV.EXE, from the CD located in the \WINNT or \WIN95 directory to your current WINDOWS directory. Then uninstall Borland C++ 5.0 before installing Borland C++ 5.01.

After running the uninstall program you will likely have part of the \BC5 directory tree remaining. This is the time to take a look through the \BC5 directories and move any files you want to a safe place (scripts, project files, etc.). Now delete the remaining \BC5 directories. As a safety precaution I recommend searching your registry by running REGEDIT -v. Search for "\BC5" and delete any keys that reference \BC5 (other than possibly the Help keys or any MRU keys). This is purely precautionary if you have followed the steps outline above but I always feel better having done it. Now you are ready to install 5.01.

Update Registry Entries Without Reinstalling
You can remove the registry entries by running "\bc5\unreg -d" from a DOS box. (This may take several minutes). Following that you need to run the setup.exe found on the CD. However when it asks you what kind of installation you would like to do choose "Icons\System Files\Registry". Then just finish the installation as directed.

Error Installing CTL3D.PAK on NT
Under NT, the install program does not correctly handle the CTL3D.PAK installation, it fails with a Retry/Abort message box. NT will not let you delete the file, however it will let you move it(!). When the message box appears, switch to file manager, move CTL3D32.DLL to somewhere you can find it later for deletion and then retry. The installation can continue. After logging off and on again (no need to reboot) you can delete the old CTL3D32.DLL. (With thanks to Michael Sawczyn).

Error Installing DLLCTL3D.PAK
The BC++ installation requires that NO other software be running when you install BC++ 5.0. This includes sneaky 'apps' like the MS Office Toolbar. Be sure to terminate all running apps and try the installation again.


WINOLDAP Doesn't Unload (Win95)
When you try to shut down Win95 you may get a warning stating that WINOLDAP is still running. This is because WINOLDAP is not being automatically closed when it finishes. In order to remedy this you need to modify the DOS box properties for CONAGENT.EXE, CONAGENT.PIF, or _DEFAULT.PIF (probably in \windows).

1. Start Explorer.
2. Locate one of the above files in the \windows\system directory.
3. When over the file click the right mouse button.
4. Choose 'Properties' from the speed menu.
5. Choose the 'Program' tab.
6. Turn on the 'Close on exit' option.

You may not have all of the above files. If not, modify whatever files you can find just to be safe.

Uninstall Hangs
The uninstall program appears to hang when it is removing the registry entries. This can take from 10 to 30 minutes. During this phase the uninstall dialog box will not repaint properly and the task list (Ctrl-Alt-Del) will show that the uninstall is not responding. Just be patient and it will eventually finish. After the uninstall process is done a portion of the BC5 directory tree will remain on your hard drive. Go to Explorer or File Manager and delete the remaining directories to complete the uninstall. If you are obsessive about such things you could also go through the registry (run REGEDIT /v) and remove all references to Borland and BC5. Now you can reinstall 5.0.

Using 4.5x and 5.0 on the Same System
Both versions of Borland C++ can co-exist on the same system. In fact, I have had both versions running at the same time although I don't think I'd attempt any serious work that way. Users report different methods of installing the two versions. I can only report what worked for me and the steps I took:

1. Completely remove all hints of BC++ from your system. This includes editing the registry with REGEDIT /v and removing all references to 'Borland' and 'BC'.
2. Install BC++ 4.52.
3. Immediately install BC++ 5.0 and apply all patches.

Those are the step I took to install both versions on Win95 and it worked for me.

Problem w/ RWADDON.DLL
The registry entries were not properly set up by the install program. You can remove the registry entries by running "\bc5\bin\unreg -d" from a DOS box. (This may take several minutes). Following that you need to run the setup.exe found on the CD. However when it asks you what kind of installation you would like to do choose "Icons\Program Files \Registry". Then just finish the installation as directed.

Why is there a BC++ 4.52 CD in the 5.0 box?
The 4.52 CD is provided as a courtesy to users who are upgrading from versions of BC++ prior to 4.52. You don't need the 4.52 CD to perform the 5.0 install. If you are going to be doing heavy 16-bit development and need the IDE debugger you may want to use BC++ 4.52 rather than 5.0 (the 5.0 IDE debugger is 32-bit only). Another solution is to develop in 32-bits using 5.0 and the IDE debugger and then do an occaisional build in 16-bits (using either 5.0 or 4.52) to check your progress.

The BC++ 5.0 IDE

Out of Memory Errors During Compile or Link - Revisited
If you are getting "Out of Memory" errors in 32-bit projects during compiling or linking then be sure to check your hard disk space on the drive where BC5 resides. This is true even if the project being compiled resides on a different drive with plenty of hard disk space. If you get below 10MB free on the hard drive then you may start getting this message. If your project and BC5 reside on the same drive then anything below 20MB free could cause problems. The quickest way to free up hard disk space is to search the drive for *.csm ,*.obj, and *.exe and get rid of matching files for any projects you are not currently working on. Obviously, take care when deleting .obj and .exe files.

Click here for info on "Out of Memory" errors in 16-bit projects.

Error Setting Breakpoint: "Invalid page fault in module COMP32.DLL"
When setting a breakpoint you see the following:

"This program has performed an illegal operation and will be shut down. If the problem persists, contact the program vendor."
details -> BCW caused an invalid page fault in module COMP32.DLL at 0137:019138fc...."

Something has gone wrong with the installation. You will need to uninstall and reinstall. To maximize chances of success you may want to copy the Setup folder from the CD to your hard drive. Then reboot in Safe Mode and reinstall from your hard drive rather than the CD. Immediately apply both patches (still in Safe Mode).

App GPFs on MessageBox( ) When Run From IDE
This problem shows up under NT 3.51 when both CTL3D and BWCC are enabled and the app is run from the IDE. Usually the symptom is a GPF on a call to MessageBox( ) or on executing a dialog. Removing the EnableBWCC( ) call should take care of it. As we have said in other parts of this page we recommend against using BWCC. The combination of CTL3D and new OWL classes like TGlyphButton make BWCC unneccesary.

Autosave Does Not Work for Editor Files
The Autosave feature is not functional for editor files. If you want your editor files to be saved just before you run the debugger then use the following script:

import IDE;
import debugger;

on debugger:>DebugeeAboutToRun() {
  IDE.FileSaveAll();
  pass();
}

You can add this script to your startup scripts.

IDE Crashes While Editing Source Files, Part II
This problem has now been diagnosed in all but a few unique cases. The problem involves a combination of a large editor file and a lot of messages in the message window. If you have a lot of warning messages in the message window you should delete them before editing. You can delete the messages by pressing Ctrl-A while in the message window, or Delete All from the speed menu. You can also specify the number of warning messages that the IDE will allow under Project | Options | Messages. Also, if you find that you are getting one warning repeated several times you can turn that particular warning off by customizing the warnings the compiler reports. It is my opinion, however, that warnings should be treated as errors and eliminated.

Fix for Bookmarks in Classic Keyboard Mapping
If you are using classic keyboard mapping you may have noticed that Ctrl-Q-# does not go to a bookmark but rather sets a new bookmark. There is a problem with the CLASSIC.KBD file that is easily fixed. Starting on line 225 (might change with different versions) you will find 10 lines starting with the following:

<Ctrl-q><0> |:|editor.SetBookmark(0); |:| |:|Sets bookmark 0

Change this line to:

<Ctrl-q><0> |:|editor.GotoBookmark(0); |:| |:|Go to bookmark 0

Do the same for the remaining 9 lines of code in that section. (Thanks to Jim Mischel of TeamB)

Autodependency Problems -- Nodes Build or Make Unpredictably
If your build dependencies are cured by switching to Dependencies | Use instead of Cache, try this cure: Run the tool StripAutodependencies against the top node of your project (add a tool by selecting Advanced | Add To Tools Menu from the Options | Tools... dialog).

Using 4.x Projects Under 5.0
Before you attempt to use any of your old project files under 5.0 you must first delete all .csm and .dsw files from your hard drive. Don't worry, they will be recreated for you the next time you build the project. To be safe you might also want to delete all .obj and .res files. If you forget and load a 4.x project file in 5.0 you will get a warning that an invalid .dsw file was found. At this point I recommend the following steps.

1. Immediately close the project and the IDE.
2. Delete the above mentioned files from the project directory.
3. Delete the BCWDEF.* and *.bcw files from the \bc5\bin directory.
4. Restart the IDE and load the project file.
5. Build the project.

If you encounter frequent crashes when using a 4.x project under 5.0 then the IDE file is likely corrupted. In almost all cases rebuilding the project file as a fresh 5.0 project will alleviate the problems.

It is recommended that you rebuild your projects from scratch in 5.0 to avoid possible problems.

IDE Crashes Frequently
If the BC++ 5.0 IDE crashes on you more than very infrequently (particularly outside the Resource Workshop) then you are experiencing something that is NOT the norm. Unfortunately it can be difficult to track down the culprit. Some of the following have been known to cause problems.

bulletWin95 problems--download Service Pack 1 (English Language Version) from Microsoft.
bulletBad video drivers
bulletCertain CD-ROM drives (Mitsumi ?)
bulletMemory management sofware (QEMM or EMM386.SYS) with improper settings
bulletOther 3rd Party TSRs
bulletOld .obj files in your projects (forgotten by you for one reason or another)
bulletCorrupt .dsw and/or .ide file for the project.

After checking out some of these suggestions you might consider uninstalling and then reinstalling BC++ 5.0. Before you uninstall you might try the following.

There is an option on the install screen to select an "Only icons/System files/registry" installation. This will ensure that the correct registrations are in place, overwriting any faulty ones. (It will not remove any superfluous entries though). Worth a try before de-installing and re-installing.

You can help us by reporting any symptoms you have observed.

If all else fails...

Grep Doesn't Work
It could be that Grep is working and that you just don't know it. The Grep results are displayed in the 'Grep' tab of the message window. After running Grep move to the message window and click on the Grep tab to see the search results.

If you are sure Grep is not working then it could be because you haven't installed it. If you elected not to install the command line tools then GREP.COM was not installed. To remedy this just copy GREP.COM from the BC++ CD to your \bc5\bin directory. Other useful files that are part of the comand line tools are TDSTRIP, TDSTRP32, and TDUMP.

Source Files Disappear When Double Clicking an Item in the GrepWwindow
There is an IDE option called Source Tracking which determines whether new files will be opened in the currently active editor window or in a new editor window. When source tracking is set to 'Current Window' (the default) then when you double click an entry in the Grep window the file represented by the line in the Grep window replaces the current file in the active editor window. The old file is still in the buffer list (check by doing Edit | Buffer List) but it appears as though it has been replaced. To avoid this set source tracking to 'New Window' (under Options | Environment | Preferences).

Adding Multiple Files to Projects Under Windows NT
For whatever reason Win95 and NT handle multiple file selections differently. Under Win95 you can select multiple files to add to a project just as you did in previous versions of BC++. Under NT it is necessary to either add the files one at a time, or select the multiple files in File Manager and drag and drop them onto the BC++ 5.0 project window. Multiple file selection may work with NT 4.0.

Long Delay When the Project menu item is clicked.
This is due to PVCS being loaded. If you aren't using PVCS then uninstall it and the Project menu item will function as normal. This should improve IDE load times as well.

Nothing Appears to Happen When Project is Opened
If you open a project and nothing happens, the chances are that there was either no valid .DSW file or the project view is off screen. Use View | Project to bring up the project window. To highlight a project opening, change your desktop toolbar (via Options | Environment | SpeedBar | Customize) to add the View Project and View Message buttons. These will enable when there is a project open.

Nothing Happens When I Import the Code Guard Log
If you open a .CGL file with the default viewer nothing seems to happen. In fact the default viewer for .CGL files is the Runtime Messages window. This is not brought to the forground when the CGL file is open so you may not realise that the file has been opened. It does not seem to get populated when you have a GPF report, so in this case change the viewer from default to Text Edit on opening the file.

Page Faults in the IDE under Win95
This might be caused by bugs in Win95. Download and apply Service Pack 1 from Microsoft.

Can't Open Project After GPF in the IDE
If the IDE has crashed and you cannot re-open a project, exit the IDE and then delete the .SPX files in the BC5\SCRIPTS directory. Next delete the *.def and *.bcw files in the \BC5\BIN directory. This should cure the problem. The files will be recreated the next time the IDE loads.

Phantom File, 'noname.cpp' in Project (ClassExpert)
Sometimes when doing a build or when doing a 'Save All' you will see the IDE complain about a file called 'noname.cpp.' This is generally happens only happens after opening ClassExpert. To get rid of this file edit the buffer list (Edit | Buffer List on the menu) and delete noname.cpp from the buffer list.

Linker Error: "Cannot build command line to RLINK"
If you have several .rc files in your project you may run into this error. If you do, try using just one .rc file in the project and putting #includes to the other .rc files in that single .rc file.

BC++ 5.0 FAQ PageBC++ 5.0 Tips Page


Copyright 2002, Reisdorph Publishing. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of Reisdorph Publishing is prohibited. All other product names and logos are trademarks or registered trademarks of their respective owners.