Ultr@VNC compilation notes for Borland C++ 5.5 users
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Based on the...
TightVNC compilation notes for Borland C++ 5.5 users
...with some modifications and additions


You have to perform two steps in order to build the project with Borland C++
5.5 "free" compiler:

1. Make sure the compiler is installed correctly (easy to find on the Net)

   You have to put path to Borland C++ binaries to your PATH environment
   variable (this path is "C:\Borland\BCC55\Bin" by default) and to prepare
   correct configuration files for compiler and linker. Please read the
   document available at

     http://www.objectcentral.com/vide/help/videdoc/bcc32.html

   for more details on correct Borland C++ 5.5 installation. Here are
   example configuration files that were used to build TightVNC for Windows
   95/98 and Windows NT 4.0:

   C:\Borland\BCC55\Bin\bcc32.cfg: =========================================

     -I"c:\Borland\Bcc55\include"
     -L"c:\Borland\Bcc55\lib;c:\Borland\Bcc55\lib\psdk"
     -DWINVER=0x0400
     -D_WIN32_WINNT=0x0400

   C:\Borland\BCC55\Bin\ilink32.cfg: =======================================

     -L"c:\Borland\Bcc55\lib;c:\Borland\Bcc55\lib\psdk"

   =========================================================================

2. Run build-bcc32.bat from the top-level directory

   This command file will try to build Ultr@VNC (both server and viewer
   parts) using Borland C++ 5.x command-line tools. It will create the
   "UltraBin" sub-directory and copy three files there:
    vncviewer.exe and two files WinVNC server consist of: winvnc.exe and VNCHooks.dll.


   -----------------------------------
   Common problems during compilation (not considering syntax or programming problems)
   -----------------------------------

   * The BCC resource compiler (brc32.exe) sometimes stops with the following message:

   Error 32: Expecting BEGIN

   In this case, go to the indicated line in the .rc file (dialog box definition)
   and remove the 3 last params (ok that's the method I use, maybe there's a smarter solution ;)
   For instance, replace:
   FONT 8, "MS Sans Serif", 0, 0, 0x1
   with
   FONT 8, "MS Sans Serif"

   Another problem is that the DS_SETFOREGROUND param is not recognized(by default)
   in dialog box definitions.
   -> I simply remove it and do a SetForeground() call for the dialog box in the program.



