NUMBER : 3134 PRODUCT : ReportSmith VERSION : 2.5 OS : Windows DATE : January 8, 1997 TITLE : General Error Messages/Solutions The purpose of this document is to aid in troubleshooting common error messages associated with ReportSmith. This document contains three sections; invalid page faults, general protection faults, and a general message section. For messages specific to a data source, refer to technical document, "Connection Error Messages/Solutions". Invalid Page Faults Message: "RPTSMITH caused an Invalid Page Fault in RSBDS47.DLL" when starting ReportSmith 3.0x. Solution: The .GMC file may be corrupted. Rename ALL RSMITH.GMC (16 bit) and RSMITH32.GMC (32 bit) files and delete all ~*.sbl files. These files are located in the directory specified in the WINDOWS\RPTSMITH.INI and RS_RUN.INI [Macro] or [Macro32] BinaryPath setting. Message: "RPTSMITH caused an Invalid page fault in module RS_MAIN.DLL" Solution: If a newer version of RS_ODBC.DLL and RS_MAIN.DLL has been installed in versions 3.01 or 3.02 and ForceGenericODBC=1 has not been added to the RPTSMITH.INI file, this message can occur. Add ForceGenericODBC=1 to the [ReportSmith] section. This will not work in the runtime version. Another possible solution is to choose Tools | Options and set Dynamic Database Access to Automatic. Message: "RPTSMITH caused an Invalid Page Fault in module UNKNOWN" when trying to load ReportSmith 3.0x. Error occurs after the splash screen loads. Solution: Check the size of your \WINDOWS\SYSTEM\ODBC32.DLL. If it is approximately 16KB instead of 63KB, rename it to ODBC32.BAK. General Protection Faults Message: "RPTSMITH caused a General Protection Fault in BC30RTL.DLL". Solution: 1. a) Rename your RSMITH.GMC file. This file is located in the directory that the BinaryPath= setting in the [Macro] section of the RPTSMITH.INI (or RS_RUN.INI) file points to. b) Delete any ~*.SBL files in the directory specified by the BinaryPath= setting in WINDOWS\RPTSMITH.INI and RS_RUN.INI [Macro] or [Macro32] section. 2. a) Delete any temporary files (*.tmp) in Windows TEMP directory. b) Add a TempDataPath= setting to the [ReportSmith] section of the RPTSMITH.INI file in the Windows directory. If TempDataPath= is already there, make sure it is pointing to a valid directory other than of the Windows TEMP directory. For example, TempDataPath=C:\RPTSMITH c) Make sure the IDAPI directory is in the path. d) Check the IDAPI Paradox driver's NET DIR parameter in BDECFG.EXE (or IDAPICFG.EXE) for a valid directory. e) Find and delete any PDOXUSRS.NET or PARADOX.NET files (found in the NET DIR path) and .LCK files. 3. Make sure there is only one copy of the BC30RTL.DLL file in the path (the newest copy if you have more than one). 4. Corrupt Report. NOTE - It may be possible to use the .RPB (Report Backup File) file instead. Rename the .RPB file as a .RPT and open it in ReportSmith. Message: RPTSMITH caused a General Protection Fault in module KRNL386.EXE. Solution: 1. Refer to the solutions below regarding "RPTSMITH caused a General Protection Fault in module RS_SQLIF.DLL". 2. When running Windows from the network, a GPF in module KRNL386.EXE can occur when creating a report based on two dBASE tables such as Detail and Employee. If the dBASE driver in \WINDOWS\ODBC.INI has a DataDirectory= that specifies a path which contains a period (.), the fault can occur after clicking Done. For example, if the DataDirectory=g:\winapp\run\rptsmith.25\video, the problem may occur. The solution is to ensure there are no periods in the path. Message: "RPTSMITH caused a General Protection Fault in module RS_OLE2C.DLL." Solution: Add the following line in the \WINDOWS\RPTSMITH.INI [Options] section: MSGraph=5 This usually resolves the issue if there is more than one version of MS Graph on the machine. Message: "RPTSMITH caused a General Protection Fault in module RSR_MAIN.DLL" after loading a report and exiting when WinShade95 v1.2.0 is also running. Solution: WinShade is a shareware program that will reduce a window to a title bar when its title bar is clicked once. Disable this program before loading ReportSmith Runtime. Message: "RPTSMITH caused a General Protection Fault in module RS_MAIN.DLL" when exiting ReportSmith 2.5x under Windows 95. Solution: 1. The problem is usually the mouse driver and can be resolved by upgrading to the latest mouse driver. Start Windows 95 in Safe Mode by pressing F5 when "Starting Windows 95" appears, which will load the standard drivers, to verify this is what is causing the problem. If ReportSmith runs fine in Safe mode, upgrading to the latest Windows 95 driver or using a standard driver should solve this problem. Also, installing Windows 95 on a computer that has an open PS/2 mouse port where a mouse is installed the serial port may cause Windows 95 to indicate, in "Mouse Properties," the "General" tab, that a PS/2 mouse is installed. Apparently, some 32 bit mouse drivers may install as a result and the same GPF can occur. If you have the file "MSMOUSE.VXD", a 32 bit mouse driver, on your machine, rename it and reboot your machine. When Windows 95 reloads, you should be able to install a 16 bit mouse driver. 2. If you are running WinShade95 v1.2.0, a shareware program, disable this program before loading ReportSmith. 3. Choose Tools | Options and set Dynamic Database Access to Automatic. 4. Rename RSMITH.GMC to RSMITH.BAK and delete any ~*.SBL files. These files are usually found in the RPTSMITH\MACROS directory or RS_RUN\MACROS directory. Message: "RPTSMITH caused a General Protection Fault in module RS_RPT.DLL". This message is due to a data field that a report variable and selection criteria are based on, has been removed from the detail section. Solution: Insert the data field that the selection criteria and report variable are referencing, into the detail section. Message: RPTSMITH caused a General Protection Fault in module RS_SQLIF.DLL. Solution: 1. If you are running Windows 3.1, the DOS SHARE.EXE command must be loaded. Check your AUTOEXEC.BAT to ensure the following line is listed before WIN.EXE is loaded: C:\DOS\SHARE /F:5100 /L:500 2. Add the following line in your \WINDOWS\RPTSMITH.INI [ReportSmith] section and RS_RUN.INI [RS_Runtime] section if applicable, TempDataPath=C:\RPTSMITH (or whatever your path is) You can create a temporary directory and specify that directory, however, it must be something other than the directory your DOS TEMP environment variable is pointing to. From a DOS prompt type SET to determine that directory. The TempDataPath directory cannot be shared with other users on a network. Also, if running RS_RUN 3.x, make sure to specify your path using uppercase if using long file names or enclose it within double quotes. 3. Run the Database Engine Configuration (IDAPICFG.EXE or BDECFG.EXE). Choose Paradox driver, and ensure Net Dir is pointing to a valid directory and you have full rights to the specified directory. Also, the drive cannot be a map rooted drive. This step is required for all data sources, not just Paradox. 4. Close all Borland products and search your entire hard drive for all *.LCK and PDOXUSRS.NET files and delete them. General Messages Message: "Access Violation" when exiting dialogs after installing ReportSmith 3.0. May only be an issue with NT. Solution: Check the version of CTL3D32.DLL in your Win95\System or WinNT\System32 directories. If the date is older than 7/21/95 on a Windows 95 machine or 8/15/95 on an NT machine, the CTL3D32 file did not get installed with Delphi. Copy the DLL from the Delphi CD-ROM Runimage\Delphi20\Windows\System32 for Windows 95 or Runimage\Intrbase\Windows\System32 directory for NT. Message: "All tables in the report must be of the same connection type." Solution: This error is displayed when trying to use two different drivers/connections in the same report. Because each ODBC driver or connection handles the underlying SQL differently, you cannot mismatch drivers in the same report. One work around this is to create a Master/Detail report. This will enable you to connect to one data source in the Master report while the Detail is based on another. Message: "Attempted to exceed string buffer size" Solution: If this error occurs when creating a SQL derived field, make sure you are using the correct syntax for your specific driver/database. For example, "PRODUCTS"."COMM_RATE" + "hello" can cause the above message. Changing the string to use single quotes may resolve it. For example, "PRODUCTS"."COMM_RATE" + 'hello' Message: "Cannot find file CTL3DV2.DLL" or "This application uses CTL3DV2.DLL which has not been correctly installed" upon launching ReportSmith 2.5x. Solution: Search the entire system for multiple occurrences of CTL3DV2.DLL. If you have more than one of these in your path, you will receive this message. Only one copy should reside on your system, and it should be located in the \Windows\System subdirectory. Note: This problem may also be encountered in Paradox 5.x for Windows as well. The same solution should apply. Message: "Divide by Zero. Overflow error." when clicking the graphic button or selecting Insert Picture from the menu. Solution: Check the PicSellLastUsedType= and the PicSellLastUsedDirectory= in the [ReportSmith] section of the WINDOWS\RPTSMITH.INI. If there is a damaged file of the type specified by PicSellLastUsedType in the directory specified by PicSellLastUsedDirectory= AND the Preview Option is turned on, then ReportSmith is trying to preview a damaged file and produces the above error. Move the damaged file out of the directory to avoid the error. Message: "Expression is too long. Image:2 Table:" Solution: Set up shorter aliases for the table names and column names. To do this: 1. Choose Tools | Tables, enter an alias for the table and click "Assign new alias". 2. Click "Table columns", enter an alias for the column name and click "Assign new alias". Message: "File handle cache" "Unable to load failure" "RS_RUN.EXE caused a Segment Load Failure in RS_SQLIF.INI" Solution: To resolve this issue, either "increase" your FILES= setting in your CONFIG.SYS file or run IDAPICFG.EXE or BDECFG.EXE, (depending on the version of ReportSmith you are running) select the System tab and "decrease" MAXFILEHANDLES. MAXFILEHANDLES is the maximum number of file handles IDAPI uses. The value can be any integer ranging from 5 to 256. Higher values improve performance but use more of the available file handles. For instance, if in the CONFIG.SYS, FILES=60 and IDAPI.CFG has MaxFileHandles=40, the remaining file handles available for other applications could be as low as 20. Lower values for MaxFileHandles detract from performance because Paradox must virtualize the file handle to disk thus closing the file until it is needed later. The default setting is 48. Message: "PStream Error Condition", "Invalid Type Encountered" when trying to load a macro (*.mac) file. Solution: The macro you are trying to load was probably created in a newer version of ReportSmith than you are currently using. Macros are upward compatible, not downward compatible. Message: "Requested mode is not supported. Internal Error-Call Borland Support. Cannot load requested string. Cannot load image " when choosing Insert|Picture. Solution: This message can occur after installing ReportSmith 3.0 over a previous version or if 2.5x and 3.0x are used frequently on the same machine. Versions 2.5x and below supported GIF, TIF, PCX, BMP, and DIB formats. Versions 3.0x only support BMP, PCX, and DIB. Remove or remark out the following lines in your WINDOWS\RPTSMITH.INI [ReportSmith] section: PicSelLastUsedType= PicSelLastUsedDirectory= PicSelLastLinkToFile= PicSelLastPreviewOn= Message: "SQL Execution Error" Corrupt file - other than header. File: C:\WINDOWS\TEMP\ Solution: This message can occur when a loaded report is closed then immediately reloaded. More than likely SMARTDrive's write-behind cache is enabled. You can either disable SmartDrv's write-behind cache by adding the /X parameter to the SMARTDrv line in you CONFIG.SYS file or just wait a minute or so and try reloading your report. Message: "System overflow", "Division by Zero" when trying to print. Solution: Upgrade your printer driver or use a different one. Message: "The application or DLL\DosDevices\C:\WINNT\System32\CTL3DV2.DLL is not a valid Windows NT image. Please check this against your installation diskette." Solution: CTL3DV2.DLL should be in the System folder, not the System32 folder. Move it to the System folder if one doesn't already exist and delete from the System32 folder. Message: "The dynamic link library ODBC32.DLL could not be found in the specified path - C:\...". This applies to version 3.0x. Solution: Modify RS_SQLIF.INI [Connections] section and set ODBC=0. Message: "The units for this report are not the same as your option defaults. Would you like this file updated?" appears when loading a previously created report. Solution: The default units selected in the Tools | Options dialog box may have been changed. To disable the above message, change the default units to "Inches" or "cm", or uncheck "Update units during file open". Message: "Too few arguments to subprogram" Solution: More than likely there is no default argument specified. Click the Set Default Arguments button in the Edit Macro dialog and enter a default argument. Message: "Unable to load ReportSmith DLL: RS_API.DLL" Solution: If you use the Delphi 2.0 CD-ROM to install only ReportSmith Runtime, use of the TReport component will result in this error. The installation creates two registry entries at Hkey_Local_Machine\\Software\\Borland\\ReportSmith\\3.00. One has the keyword of "Runtime Directory" and the other is "SQL Directory". The Runtime Directory entry will correctly point to the directory containing ReportSmith Runtime. The SQL Directory will point to the directory where the full version of ReportSmith would have been installed to, if it had been installed. The SQL Directory is where the TReport initially looks for RS_API.DLL. This problem can be resolved by one of the following: Change the registry setting for "SQL Directory" to point to the directory where the runtime is installed. OR Create the directory referenced in "SQL Directory" and copy RS_API.DLL into that directory. Message: "Unable to load RS_RUN.EXE" when trying to launch Runtime from a Delphi application. Solution: On every PC which ReportSmith Runtime is installed, add the path to RS_RUN.EXE to the RS_RUN.INI file, found in the Windows directory under the [RS_Runtime] section. For example, ExePath=C:\RS_RUN This setting is only necessary for Delphi's TReport component and is added to the installer's RS_RUN.INI during Delphi installation. DISCLAIMER: You have the right to use this technical information subject to the terms of the No-Nonsense License Statement that you received with the Borland product to which this information pertains.