THtmlPort

From Lazarus wiki
Revision as of 18:40, 6 December 2009 by Phil (talk | contribs) (Start of Known Issues list.)
Jump to navigationJump to search

English (en) español (es)

About

THtmlPort is a Lazarus/Free Pascal version of Dave Baldwin's HTML Components, including THtmlViewer, TFrameViewer and TFrameBrowser. The ported code retains full compatibility with Delphi.

The original unported source is available from here:

 http://www.pbear.com/

Screenshots

FrameDem sample app using the Carbon widgetset
FrameDem sample app using the Win32 widgetset
FrameDem sample app using the GTK2 widgetset

Download

You can download the ported source using Subversion:

 svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/thtmlport [local dir]

A zip file of the source is also available:

 http://web.fastermac.net/~MacPgmr/THtmlPort/

License

The original Delphi code on which this port is based has been released by Dave Baldwin into the public domain. Additional code supplied with this port is released under the MPL 1.1 license.

Installation

To install the HtmlComp package in Lazarus:

  • Choose Package | Open package file, then select htmlcomp.lpk (in the package subfolder).
  • Click Compile to compile the package.
  • Click Compile a second time. A quirk in the current FPC apparently make this extra compile necessary.
  • Click Install to rebuild and relaunch Lazarus.

To compile a sample app that uses the HtmlComp package:

  • Choose File | Open, then select framedem.lpi or htmldemo.lpi (both in the demo_src subfolder).
  • Choose Run | Run to compile and run the sample app.

Status

Carbon widgetset

Stable but needs support for additional image file formats and special characters. Both FrameDem and HtmlDemo sample apps are working.

Works with stable Lazarus 0.9.28.2, but for best results in the Lazarus form designer, use 0.9.29.

Win32 widgetset

Looks almost identical to Delphi but not completely free of problems. While the FrameDem sample app works fairly well, the HtmlDemo app throws an exception at startup.

Works with stable Lazarus 0.9.28.2, but for best results in the Lazarus form designer, use 0.9.29.

GTK2 widgetset

Starting to look pretty good but the FrameDem sample app is prone to crashing in several places. HtmlDemo app does not display loaded HTML file.

Be sure to use Lazarus 0.9.29 with this widgetset.

Contact

If you have fixes for any problems in the package, please contact Phil:

 MacPgmr (at) fastermac (dot) net

Known Issues

Carbon widgetset

  • In FrameDem app, title and subtitle at top (readme2.htm) display in sans serif font even though style specifies Times New Roman, which is a Mac font.
  • In FrameDem app, WingDing characters (sample3.htm) are not correct.
  • In FrameDem app, image files that are inlined in text (sample3.htm) or tables (properties.htm) do not display. This is accompanied by many errors outputted to the Console app window by the Carbon widgetset code.
  • Vertical scroll bar thumb does not move all the way to bottom of scroll bar when window is scrolled all the way down.
  • In FrameDem app, shelling to whatsnew.htm does not work since can't start second copy of app.
  • In FrameDem app, clicking Preview in Print dialog gives error that Copies is set to 0. Changing Copies to 1 allows Preview to proceed, but not much is shown. In HtmlDemo app, preview works fairly well, although doesn't look quite as good as in app itself. With both apps, the second time Preview button is clicked, processing hangs.

Win32 widgetset

  • HtmlDemo sample app throws exception at startup.
  • FrameDem sample app sometimes fails to load samples3.htm when HTML Samples link is clicked; other times it loads fine.
  • In FrameDem app, shelling to whatsnew.htm starts another copy of app fine, but nothing displayed. Same issue with starting FrameDem with a file other than demo.htm specified on command line.

GTK2 widgetset

All widgetsets

  • In the sample apps' Fonts dialog (Options | Default Font/Colors), the Font Color and Link Color areas are blank since a TColorGrid was used in the original Delphi apps. TColorGrid is not an LCL control and has been removed from the .lfm files.
  • Copying to clipboard does not yet work.
  • Preview has been disabled since this depends on TMetaFile, which is not part of LCL.