-----------------------------------------------------
 DELPHI.RTP Borland Delphi UPDATE PATCH 1
-----------------------------------------------------

---------------
*** Notice ***
---------------
This patch is intended for use only with "Delphi" (use CSDELPHI.RTP 
if you have "Delphi Client/Server"). Use this patch only if
your DELPHI.EXE has timestamp of DELPHI.EXE of 2/15/95 8:00am.
This patch works only with PATCH.EXE 2.11.

The resulting file(s) are subject to the terms of the No-nonsense
License Agreement which shipped with the Borland language product
you purchased.

---------------
Instructions
---------------
For simplicity, the following instructions assume you installed
Delphi into the default directory structure of \DELPHI and that
you've copied PATCH.EXE and DELPHI.RTP into \TEMP on the same
drive.

If you want backup copies of the original files placed into a
directory called \DELPHI.SAV, type:

  cd \temp
  patch -backup:\delphi.sav \delphi delphi.rtp

Otherwise, type:

  cd \temp
  patch \delphi delphi.rtp

See below for a complete list of the files that will be updated.

---------------
Purpose
---------------
This patch file address the following problems:

 1.  Improved compatibility with Windows 95 M8 beta for MDI (e.g.
     new child) and OLE2 (e.g. insert object).
 2.  IDE debugger compatibility fix for NT.
 3.  Fixed MDI design mode problem when minimizing MDI Child
     window.
 4.  Significant updates to OLE2 API unit (see
     \DELPHI\DOC\OLE2.INT).
 5.  Fixed unit version problem in DLIB.EXE.
 6.  Fixed problem in Browser when you double-click a reference to
     a .PAS file that is not already open in the editor.
 7.  Fixed Options|Rebuild Library problem when the current
     project has an active Dataset.
 8.  Fixed Alt+Tab problem in Grid control.
 9.  Fixed DBGrid to allow cancel of SetKey mode.
10.  TForm.DefineProperty now calls its inherited method.
11.  Support for owner draw in TOutline.
12.  DBImage.CutToClipboard now correctly updates the clipboard.
13.  In TDataSource.OnDataChange, fixed invalid pointer in the
     Field Parameter.
14.  Fixed various demo problems.

---------------
Files Modified
---------------
  Action   Entry Name     Old Name       New Name      Patch Size  Reduced  
+--------------------------------------------------------------------------+
 MODIFY  BCOM.DCU      BCOM.DCU      BCOM.DCU          286     81%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  BOLEDEFS.DCU  BOLEDEFS.DCU  BOLEDEFS.DCU      198     96%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  BOLEINTF.DCU  BOLEINTF.DCU  BOLEINTF.DCU      486     97%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  CONSTS.DCU    CONSTS.DCU    CONSTS.DCU        123     97%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DB.DCU        DB.DCU        DB.DCU            529     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBCONSTS.DCU  DBCONSTS.DCU  DBCONSTS.DCU      123     96%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBCTRLS.DCU   DBCTRLS.DCU   DBCTRLS.DCU       196     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBTABLES.DCU  DBTABLES.DCU  DBTABLES.DCU      210     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DIROUTLN.DCU  DIROUTLN.DCU  DIROUTLN.DCU     2438     76%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DISPATCH.DCU  DISPATCH.DCU  DISPATCH.DCU     6105     79%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  FORMS.DCU     FORMS.DCU     FORMS.DCU         275     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  GRIDS.DCU     GRIDS.DCU     GRIDS.DCU         207     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  LIBCONST.DCU  LIBCONST.DCU  LIBCONST.DCU      123     95%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  OLE2.DCU      OLE2.DCU      OLE2.DCU        13933     79%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  OLEREG.DCU    OLEREG.DCU    OLEREG.DCU        139     97%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  OUTLINE.DCU   OUTLINE.DCU   OUTLINE.DCU       285     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  SAMPREG.DCU   SAMPREG.DCU   SAMPREG.DCU       121     85%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  SPIN.DCU      SPIN.DCU      SPIN.DCU          161     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  TABS.DCU      TABS.DCU      TABS.DCU          126     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  TOCONSTS.DCU  TOCONSTS.DCU  TOCONSTS.DCU      123     88%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  TOCTRL.DCU    TOCTRL.DCU    TOCTRL.DCU        567     98%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  TOHLPR.DCU    TOHLPR.DCU    TOHLPR.DCU        321     94%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  TOINTF.DCU    TOINTF.DCU    TOINTF.DCU        406     98%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  TOUNK.DCU     TOUNK.DCU     TOUNK.DCU         226     82%   
+--------+--------------+--------------+--------------+----------+---------
 ADD     WINCRT.DCU                  WINCRT.DCU       5308     51%   
+--------+--------------+--------------+--------------+----------+---------
 ADD     WINPRN.PAS                  WINPRN.PAS       4525     69%   
+--------+--------------+--------------+--------------+----------+---------
 ADD     CHARTFX.PAS                 CHARTFX.PAS      3112     64%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DIROUTLN.PAS  DIROUTLN.PAS  DIROUTLN.PAS      618     93%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  SPIN.PAS      SPIN.PAS      SPIN.PAS          204     98%   
+--------+--------------+--------------+--------------+----------+---------
 RENAME  CUS1.BMP      CUS-1.BMP     CUS1.BMP           92     99%   
+--------+--------------+--------------+--------------+----------+---------
 RENAME  CUS2.BMP      CUS-2.BMP     CUS2.BMP           92     99%   
+--------+--------------+--------------+--------------+----------+---------
 RENAME  CUS3.BMP      CUS-3.BMP     CUS3.BMP           92     99%   
+--------+--------------+--------------+--------------+----------+---------
 RENAME  CUS4.BMP      CUS-4.BMP     CUS4.BMP           92     99%   
+--------+--------------+--------------+--------------+----------+---------
 RENAME  CUS5.BMP      CUS-5.BMP     CUS5.BMP           92     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  ABOUT.DFM     ABOUT.DFM     ABOUT.DFM         132     93%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  CLIENTS.DBF   CLIENTS.DBF   CLIENTS.DBF       176     92%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBBROWSE.DFM  DBBROWSE.DFM  DBBROWSE.DFM      135     92%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBBROWSE.PAS  DBBROWSE.PAS  DBBROWSE.PAS      534     94%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBBROWSR.DPR  DBBROWSR.DPR  DBBROWSR.DPR      120     83%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBBROWSR.RES  DBBROWSR.RES  DBBROWSR.RES      115     85%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBCTRLS.PAS   DBCTRLS.PAS   DBCTRLS.PAS       160     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBEXCEPT.DFM  DBEXCEPT.DFM  DBEXCEPT.DFM      131     94%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBITYPES.INT  DBITYPES.INT  DBITYPES.INT      473     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBMAIN.DFM    DBMAIN.DFM    DBMAIN.DFM        497     94%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBMAIN.PAS    DBMAIN.PAS    DBMAIN.PAS        257     95%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBSQL.DFM     DBSQL.DFM     DBSQL.DFM         245     52%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBSQL.PAS     DBSQL.PAS     DBSQL.PAS         312     83%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBSQLVEW.DFM  DBSQLVEW.DFM  DBSQLVEW.DFM      252     60%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DBTABLE.DFM   DBTABLE.DFM   DBTABLE.DFM       278     65%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DCC.EXE       DCC.EXE       DCC.EXE          2351     98%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DELPHI.DSL    DELPHI.DSL    DELPHI.DSL        111     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DELPHI.EXE    DELPHI.EXE    DELPHI.EXE      19680     98%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DISPATCH.INT  DISPATCH.INT  DISPATCH.INT     5447     86%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DLIB.EXE      DLIB.EXE      DLIB.EXE          141     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  DSGNINTF.PAS  DSGNINTF.PAS  DSGNINTF.PAS      131     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  EDORDERS.PAS  EDORDERS.PAS  EDORDERS.PAS      293     98%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  EXPTDEMO.DLL  EXPTDEMO.DLL  EXPTDEMO.DLL     1613     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  HELPINST.EXE  HELPINST.EXE  HELPINST.EXE     2245     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  IMAGEDIT.EXE  IMAGEDIT.EXE  IMAGEDIT.EXE     1888     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  IMAGEWIN.PAS  IMAGEWIN.PAS  IMAGEWIN.PAS      148     95%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  ITEMS.DB      ITEMS.DB      ITEMS.DB          200     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  ITEMS.PX      ITEMS.PX      ITEMS.PX          160     96%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  ITEMS.VAL     ITEMS.VAL     ITEMS.VAL         232     79%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  KWGEN.EXE     KWGEN.EXE     KWGEN.EXE        2775     98%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  MAIN.PAS      MAIN.PAS      MAIN.PAS          179     98%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  OLE2.INT      OLE2.INT      OLE2.INT         6774     92%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  OPENDB.DFM    OPENDB.DFM    OPENDB.DFM        133     90%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  OPTIONS.DFM   OPTIONS.DFM   OPTIONS.DFM       122     84%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  ORDERHST.RPT  ORDERHST.RPT  ORDERHST.RPT      627     96%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  ORDERS.VAL    ORDERS.VAL    ORDERS.VAL        256     82%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  PASDBK16.DLL  PASDBK16.DLL  PASDBK16.DLL     1500     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  SEARCH.PAS    SEARCH.PAS    SEARCH.PAS        304     94%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  SQLMON.DPR    SQLMON.DPR    SQLMON.DPR        222     59%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  STDCTRLS.PAS  STDCTRLS.PAS  STDCTRLS.PAS      534     99%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  SYBMON.DFM    SYBMON.DFM    SYBMON.DFM        122     97%   
+--------+--------------+--------------+--------------+----------+---------
 MODIFY  TYPINFO.INT   TYPINFO.INT   TYPINFO.INT       256     93%   
+--------------------------------------------------------------------------+


---------------
Troubleshooting
---------------
The following troubleshooting information is provided by
PocketSoft for their RTPatch PATCH.EXE, version 2.11.

Warning wpt0015: Old File does not exist
----------------------------------------
PATCH.EXE is unable to locate a file for which a patch is defined
or it cannot find DELPHI.RTP.

Make sure to specify the correct directory for Delphi when you
execute the PATCH command (e.g. \DELPHI). This error will also
occur if PATCH.EXE cannot find DELPHI.RTP.

You may have deleted or never installed a file PATCH.EXE is
attempting to patch. This warning will be ignored and PATCH.EXE
will continue executing. You can always reinstall Delphi from
your master disks before running PATCH.EXE.

New Version of File 'FILENAME' already exists.
----------------------------------------------
Your version of the specified file is already up-to-date and does
not need to be patched:

error ept0001: Illegal Input Option '<Option>'
---------------------------------------------
The specified option is either an invalid option or the PATCH user
does not have the user level to allow the use of the option.

error ept0002: Insufficient Memory
---------------------------------
PATCH needs a certain amount of memory free for its internal tables.
There was insufficient memory available when PATCH was run.

error ept0003: Valid Password not entered. Patch File can not be applied
-----------------------------------------------------------------------
The PATCH user did not enter the valid password for this patch file.
Remember that passwords are case sensitive. 

error ept0004: Specified Update Directory '<DirName>' does not exist
-------------------------------------------------------------------
The PATCH user specified a directory to update but that directory
does not exist.

error ept0005: Specified [Update|Backup] Directory '<DirName>' is
               not a valid directory.
----------------------------------------------------------------
The user specified a directory name either for the Update or the
Backup directory that is not a valid directory name. An existing file
with the same name as the specified directory could cause this message.

error ept0006: Can Not Find Patch File '<FileName>'
--------------------------------------------------
PATCH was not able to locate the specified PATCH file.


error ept0007: Error Opening Patch File
--------------------------------------
PATCH was able to locate the patch file but could not open the file
to read from it. This could be a DOS error or a corrupted disk.


error ept0008: PATCH.EXE and Patch File incompatible - Need to
               update PATCH.EXE
--------------------------------------------------------------------------------
PATCH.EXE and the patch file are incompatible versions. PATCH.EXE can
update any old versions of patch files but not ones created with a
newer version of the data file format. You need to get a newer version
of the PATCH program to apply this patch.


error ept0009: Invalid Patch File '<Name>'
-------------------------------------
PATCH.EXE was unable to read correct information from the patch file.
The specified file is either not a patch file or has been corrupted.
Get a new copy of the file and rerun PATCH.


error ept0010: Failure Creating Backup Directory '<DirName>'
-----------------------------------------------------------
PATCH was unable to create the specified Backup Directory.


error ept0011: Failure Creating Backup Log File '<FileName>'
-----------------------------------------------------------
PATCH was unable to create the file containing information about what
files were backed up.


error ept0012: Failure Opening Backup Source File '<FileName>'
-------------------------------------------------------------
PATCH was unable to open the file to be backed up. 


error ept0013: Failure Opening Backup Destination File '<FileName>'
------------------------------------------------------------------
PATCH was unable to open the new file to copy the original file to.


error ept0014: Failure Writing Backup File '<FileName>'
------------------------------------------------------
PATCH was unable to write the original file to the backup version.


error ept0015: Old File does not exist
-------------------------------------
PATCH needs bytes from the existing version of a  file in order to
build the new file. However, it was unable to locate the old file.


error ept0016: New File already exists.
--------------------------------------
There already exists a file by the same name as the new file being
built. The existing file will be copied to the backup directory if
the BACKUP option is on.


error ept0017: Failure Opening Old File: 'filename'
---------------------------------------------------
PATCH was able to locate the old version of a file but the open
failed. This is probably caused by a DOS error. Try rerunning PATCH.


error ept0018: Failure Opening New File: '<FileName>'
-----------------------------------------------------
PATCH was unable to open the named file. It was attempting to open
this file to create a file for the updated version of the system.
This can be caused by a disk or network error or if a directory exists
by the same name as the file that PATCH is trying to open.


error ept0019: Failure Writing to File
-------------------------------------
An error occurred while PATCH was trying to write bytes to a new
file.


error ept0020: Failure Reading from File
---------------------------------------
An error occurred while PATCH was trying to read bytes from an old
file.


error ept0021: Failure Seeking to Position in File
-------------------------------------------------
PATCH was unable to seek to a position within a file. This is probably
caused by a DOS error or corrupted disk.  Retry running the patch.


error ept0022: Failure Renaming File
-----------------------------------
PATCH was unable to rename a file. This is probably caused by a DOS
error or corrupted disk. Try rerunning PATCH.


error ept0023: Patch for '<FileName>' not found in Patch File
------------------------------------------------------------
PATCH was unable to find an entry in the patch file matching
the entry name specified by the user on the FILE option. Try using
the LIST option to get a list of the entries in the patch file.


error ept0024: New File already exists.
---------------------------------------
The specified file has already been patched. PATCH does not need
to patch this file.


error ept0025: Verify of New File Failed. Possible Internal Error.
-----------------------------------------------------------------
The file PATCH built is not valid. Users should never see this
message.


error ept0026: Failure Creating Overflow File: 'FileName'
---------------------------------------------------------
PATCH was unable to open a file for its overflow information. This is
probably cause by a DOS error or by a full disk drive.


error ept0027: Overflow File Write Failure
----------------------------------------------------------------------
PATCH was unable to read from the overflow table it created to hold
data that did not fit in its internal tables. This was probably
caused by some sort of DOS error or a corrupted disk or there was
insufficient room on the disk for the file.


error ept0028: Overflow File Read Failure
----------------------------------------
PATCH was unable to read from the overflow table it created to hold
data that did not fit in its internal tables. This was probably
caused by some sort of DOS error or a corrupted disk.


error ept0029: Insufficient Disk Space to Apply Patch - You need
               at least <Size> bytes free on drive <DriveLetter>
               for <Feature>.
----------------------------------------------------------------
PATCH needs at least the specified number of bytes to perform the 
patch process. If UNDO or BACKUP is ON, PATCH needs room to backup
all of the file making up the original system and also the room 
needed to build the new system. If both BACKUP and UNDO are OFF,
PATCH only needs room to backup the biggest of the files being
patched.


error ept0030: Error opening serialization file '<FileName>'
-----------------------------------------------------------
PATCH either could not find the serialization file or the open
failed. If the open failed, the probable cause is some kind of DOS
error, retry the operation.


error ept0031: Error reading serialization file '<FileName>'
-------------------------------------------------------------
PATCH cannot seek to the correct position in the serialization file
or read the correct number of bytes from the file. Possible causes
are invalid positions and lengths specified while running PATCHBLD.

error ept0032: Failure Setting File's Time/Date Stamp
-------------------------------------------------------------
PATCH was unable to set the time/date stamp for the updated
file or for a file freshly backed up. This error should never 
occur but if it does would probably be caused by some kind of
disk failure or network file sharing problem.

error ept0033: Failure creating temporary file.
-----------------------------------------------
PATCH was unable to create a temporary file to hold the new file
or to hold overflow information. Try rerunning PATCH and if it still
does not work reduce the number of temporary files required by
disabling BACKUP and UNDO.

error ept0034: Neither command line parameter specifed is an existing directory
-------------------------------------------------------------------------------
Multiple parameters were given on the PATCH command line that were neither
valid PATCH options or existing directories. If the user specifies multiple
parameters, at least one must be a valid existing update directory.


error ept0035: Only one file and one directory may be specified on command line
-------------------------------------------------------------------------------
The user specified more than one patch file and one update directory on the
PATCH command line.


error ept0036: Old file not found. However, a file of the same name was
               found. No update done since file contents do not match.
-----------------------------------------------------------------------------
PATCH was unable to locate an exact match for the original file to 
be updated. However, PATCH was able to locate a file with the same
name as the original file. However, the file found did not have either
the same size or checksum as the actual original file that PATCH is
seeking in order to perform the update.


error ept0037: Error opening error message file.
-----------------------------------------------------------------------------
PATCH was unable to open the file PATCH.ERR for storing error messages.
The probable cause is some kind of DOS error, retry the operation or specify
the NOERRORFILE option on the PATCH command line.


   NOTE: When an error occurs at PATCH time, the PATCH program will return
         an error code equal to the error message that is printed. If the
         error is an error of the EUT type below, the exit code will be
         equal to the indicated error number plus 100.



