What are the HTML Viewer Components?

The HTML component set consists of the THtmlViewer, TFrameViewer, and TFrameBrowser components. All three are HTML document display components:

THtmlViewer The basic component. THtmlViewer displays single (non-frame) documents. It also forms the basis for the other two components.

TFrameViewer Displays both Frame and single HTML documents. TFrameViewer is oriented more for local file system use.

TFrameBrowser    Also displays Frame and single HTML documents. However, TFrameBrower is oriented toward Internet style protocols and URL usage. Additional code and/or components are generally required to get data from other sources than the local file system.

These components support most of the HTML 3.2 specifications with many additional popular HTML 4 enhancements. Many Cascading Style Sheet properties are also supported.

While HTML documents are normally associated with the Internet, they are also very useful for displaying all kinds of textual material such as documentation, helpfiles, etc. Graphics are easily incorporated in these documents.

Files Supplied

In "Demos\Compiled Framedemo"

   Demo.htm        This file
   *.htm           Frame files for Demo.htm
   FrameDem.exe    The TFrameViewer demo program
   Various image and sound files for demo

In "HtmlHelp"

   THtmlViewer.chm  Help file 
   html\*.*         Source files of help file
   images\*.*       Source files of help file
   Various html help project files

In "Source" 

   sourcecode for the THtmlViewer, TFrameViewer, and TFrameBrowser components

     HtmlView.pas, .dcr           THtmlViewer
     FramView.pas, .dcr           TFrameViewer
     FramBrwz.pas, .dcr           TFrameBrowser
     BuffConv.pas
     BuffConvArrays.pas
     DitherUnit.pas
     GDIPL2A.pas
     HSLUtils.pas
     HtmlBuffer.pas
     HtmlCaches.pas
     HtmlFonts.pas
     htmlgif1.pas
     HTMLGif2.pas
     HtmlGlobals.pas
     HtmlImages.pas
     Htmlsbs1.pas
     HTMLSubs.pas
     HtmlSymb.pas
     htmlun2.pas
     MetaFilePrinter.pas
     ReadHTML.pas
     StylePars.pas
     StyleTypes.pas
     StyleUn.pas
     URLSubs.pas
     vwPrint.pas
     HtmlMisc.pas                 Lazarus only
     HtmlComp.lrs                 Lazarus only
     HtmlUn2.lrs                  Lazarus only
     WideStringsLcl.pas           Lazarus only
     HTMLCompEdit.pas             Designtime only
     FrameViewerReg.pas           Designtime only

     FrameViewer09.lpk, .pas      Lazarus 09 .. 1.1 Package source file.  The younger Lazarus the better it supports HtmlViewer.
     FrameViewer6.dpk, .res       Delphi 6 Package source file.           Uses TntControls for better unicode support.
     FrameViewer7.dpk, .res       Delphi 7 Package source file.           Uses TntControls for better unicode support.
     FrameViewer2005.dpk, .res    Delphi 2005 Package source file.        Uses TntControls for better unicode support.
     FrameViewer2006.dpk, .res    Delphi 2006 Package source file.        Uses TntControls for better unicode support.
     FrameViewer2007.dpk, .res    Delphi 2007 Package source file.        Uses TntControls for better unicode support.
     FrameViewer2009.dpk, .res    Delphi 2009 Package source file.
     FrameViewer2010.dpk, .res    Delphi 2010 Package source file.
     FrameViewerXE.dpk, .res      Delphi XE Runtime Package source file.
     FrameViewerXE2.dpk, .res     Delphi XE2 Runtime Package source file.
     FrameViewerXE3.dpk, .res     Delphi XE3 Runtime package source file.
     FrameViewerXE4.dpk, .res     Delphi XE4 Runtime package source file.
     FrameViewerXE5.dpk, .res     Delphi XE5 Runtime package source file.
     FrameViewerXE6.dpk, .res     Delphi XE6 Runtime package source file.
     DclFrameViewerXE.dpk, .res   Delphi XE Designtime package source file.
     DclFrameViewerXE2.dpk, .res  Delphi XE2 Designtime package source file.
     DclFrameViewerXE3.dpk, .res  Delphi XE3 Designtime package source file.
     DclFrameViewerXE4.dpk, .res  Delphi XE4 Designtime package source file.
     DclFrameViewerXE5.dpk, .res  Delphi XE5 Designtime package source file.
     DclFrameViewerXE6.dpk, .res  Delphi XE6 Designtime package source file.
     HtmlView.chm                 The help file (Sorry, but most of it is still version 9.45)
   
   Source code for the print preview dialog TBegaHtmlPrintPreviewForm

     BegaHtmlPrintPreviewForm.pas
     BegaMetaFilePrinter.pas
     BegaPreview.pas, .dfm, .lfm
     BegaPreviewForm.pas, .dfm, .lfm
     BegaPreviewPanel.pas
     BegaScrollBox.pas
     BegaZoom.pas
     ZoomAndHandCursor.RES

In "Demos\Main Demos"
     
   Source code for the demo programs

     FrameDem.dpr, .res
     FrameDemW.dpr, .res
     FrameDemLaz.lpr, .res
     HtmlDemo.dpr, .res
     HtmlDemoW.dpr, .res
     HtmlDemoLaz.lpr, .res
     demounit.pas, .dfm, .lfm
     FDemUnit.pas, .dfm, .lfm
     FontDlg.pas, .dfm, .lfm
     GoPage.pas, .dfm, .lfm
     Grid.res
     Htmlabt.pas, .dfm, .lfm
     ImgForm.pas, .dfm, .lfm
     manifest.res
     PrintStatusForm.pas, .dfm, .lfm
     Submit.pas, .dfm, .lfm
     SubmitTNT.pas, .dfm

In "Demos\Other Demos"     

   Some more demo projects and source files. For example the FrameBrowser demos 
     
     FrameBrowserUsingICSv7 
     FrameBrowserUsingIndy10

Installing The HTML Components

If you are installing for more than one version of Delphi, use separate directories for the installations.

Installation problems are almost always due to old or incorrect files being accessed. Make sure that the Library Path or Search Path does not point to the directory of any old HTML component files. The Library Path can be edited from the Tools|Environment Options dialog, Library tab. The Search Path from the Project|Options dialog, Directories/Conditionals tab.

Delete all DCU files generated with previous installations.

The Register procedures in HTMLVIEW.PAS, FRAMVIEW.PAS, and FRAMBRWZ.PAS are set to place the components on the palette page tab named Samples. These can be relocated later from the IDE if desired.

Delphi 6 and 7

  1. Choose File|Open... from the main menu. Browse through the dialog to find FRAMEVIEWER6|7.DPK (by default in the \HtmlViewer\package directory).

  2. Click Open and in the ensuring dialog, press Compile and then Install.

  3. When using the HTML components, include the \HtmlViewer\package directory in the searchpath. The searchpath can be edited by choosing Project|Options|Directories|Conditionals from the main menu.

  4. Make sure that the Library Path string does not point to the directory of any old HTML component files. The Library Path string can be edited from the Tools|EnvironmentOptions dialog, Library tab.

Delphi 2005 - 2010, XE and later

In the following replace XXX with the Delpi version name.

  1. Choose File|Open... from the main menu. Browse through the dialog to find FrameViewerXXX (by default in the \HtmlViewer\package directory).

  2. Click Project|Compile FrameViewerXXX to compile FrameViewerXXX.bpl.

  3. To add the components to the Tool Palette, Choose Component|Install packages. Click the Add... button and selectFrameViewerXXX.bpl.

  4. When using the HTML components, include the \HtmlViewer\package directory in the searchpath. The searchpath can be edited by choosing Project|Options|Directories/Conditionals from the main menu.

  5. Make sure that the Library Path string does not point to the directory of any old HTML component files. The Library Path string can be edited from the Tools|Environment Options dialog, Library tab.

Lazarus 0.9 and later

  1. Choose Package|Open package file... from the main menu. Browse through the dialog to find FrameViewer09.lpk (by default in the \HtmlViewer\package directory).

  2. Click Compile in the Package FrameViewer09 window to compile the package.

  3. Click Install in the Package FrameViewer09 window to install the components.

  4. When using the HTML components, include the \HtmlViewer\package directory in the Other Unit Files (-Fu) searchpath. The searchpath can be edited by choosing Project|Compiler Options... from the main menu.

UnInstalling the Components

To uninstall the HTML components from Windows:

Contacts

World Wide Web: https://github.com/BerndGabriel/HtmlViewer

Acknowledgements

The following are some of the organizations and individuals who have contributed to the HTML components:
 

SkyLine Tools, Inc. ImageLib Graphics Library
Radek Przybyl Ideas and code for establishing Print margins
Theodor Kleynhans Animated GIF code
Chris Wallace Print preview ideas and code
Yves Urbain The Connection concept for protocol support
Anders Melander Color dithering code in DitherUnit.Pas
Ron Collins GIF image code
Mike Lischke Unicode routines and assistance
jrsoftware.org Inno Installer
Phil Hess Lazarus port support
Juha Manninen Lazarus port support
Alexander Klimov CodePage conversion support

Copyright © 1995-2008 by L. David Baldwin, 2008-2017 by HtmlViewer Team

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the source modules, HTMLMISC.PAS, HTMLGIF1.PAS and DITHERUNIT.PAS are covered by separate copyright notices located in those modules.