Please note:
We offer both beta and gold releases of File Explorer. If you are requiring the
most stable release please use the gold releases. New functionality and bug
fixes are normally first released as beta releases.
 The odd number
releases are beta versions and the even number releases are Gold versions.
See 
FileExplorer.htm's
Version History section for the most recent version information.
Versions 3.0 Beta 1 to 3.37 Beta: ( Last released 19 May 2004 )
  -  All the improvements / changes made during the 2.9 releases.
-  Rewrote the feBrowser class!  Improvements / changes include:
    
      - Even faster, even more robust..
- Several methods had size restrictions on their parameters.
        No longer! Methods include feBrowser:: Load, ...
- You can now have multiple objects (Viewer controls) on the
        same window, and scroll large files safely (were some issues here in the
        past).
- The issue reported with browsing Disney.com has been fixed.
- The FeBrowser::Refresh method now takes an optional parameter,
        allowing you to specify the "level" of refreshing you want done.
- The FeBrowser::Edit method now takes a second (optional)
        parameter.
- New property (used internally, currently undocumented) called
        LastLoadedDoc, which will replace LastLoadedDocument and CurrentPath for
        the Webbrowser class. No size restrictions.
- feBrowser::Load; from (long ParentControl, <string LoadPath>,
        <long Handle1>, <long Handle2>, <byte SkipCallbacks>) to (long
        ParentControl, <string LoadPath>, long Handle1=0, long Handle2=0, byte
        SkipCallbacks=false). Improved ability to pass (new) optional parameters,
        and the way this code works.
- FeBrowser::GetInfo method(s) now take a parameter allowing
        you to specify a FrameNumber. ( See the Advanced_feBrowser_GetInfo
        example procedure in feabc.app, which now shows how to use GetInfo with
        frames ). Added new properties (&cstring's) which GetInfo now
        updates and returns pointers to, better way of doing this as there are
        now no size limitations. All properties auto-clean in the Kill method,
        note these are read-only properties - see the fedemo.app (abc) - Advanced_feBrowser_GetInfo
        procedure for implementation.
- FeBrowser::Resize method now takes longs as parameters,
        not shorts.
- FeBrowser::GetElementQ method parameters changed from (
        < *cstring TagName >, fe:QParam_Type QParm ) to ( <string
        TagName>, fe:QParam_Type QParm, long FrameNumber=0 ). This method
        now supports frames.
- FeBrowser::SetValueByName method parameters changed from
		( string ElementName, string ElementValue, byte ElementType=0 ) to
        ( string ElementName, string ElementValue, long FrameNumber=0 ).
        ElementType was never documented / implemented, so this will not affect
        any existing code. This method now supports frames.
- FeBrowser::GetValueByName method parameters changed from
		( string ElementName ) to ( string ElementName, long FrameNumber=0
        ). This method now supports frames.
- FeBrowser::SubmitForm method parameters changed from (
        <string FormName> ) to ( <string FormName>, long FrameNumber=0
        ). This method now supports frames.
- Updated the Advanced_feBrowser_DOM example (feabc.app) to
        demonstrate using the improved GetElementQ, SetValueByName, GetValueByName
        and SubmitForm methods (with frame support).
- SetValueByName now supports dealing with duplicated field
        names (new 6th parameter).
- FeBrowser::Load changed - now if you pass CurrentPath
        as '' (empty string) it loads "about:blank", rather than just
        ignoring you which is what it did in the past..
- The feBrowser::Update method now supports setting the "SilentMode"
        parameter.
- The feBrowser::EventCallback method now returns *cstrings,
        not *strings. This was never documented prior to this version so
        it won't affect anyone.
- Can now read / set html CheckBoxes from your code
-  feBrowser::GetHtmlGraphicsInfo
        method improved (internal fixes)
- New methods:
        
          - FeBrowser::SetFocus - used to restore focus to the
            Window that the control is on.
- FeBrowser::ClickByName - which enables you to click buttons in html
            pages! Cool...
- FeBrowser::Home
- FeBrowser::SearchPage
- FeBrowser::NumberOfFrames
- FeBrowser::NameOfFrame
- FeBrowser::HideControl
- FeBrowser::UnhideControl
- FeBrowser.ClickByRecordNumber
 
 
- Rewrote the feHtmlEditor class! Improvements / changes include:
    
      - No longer using any "Clarion OLE".. All
        pure early-bound COM. Many many many advantages to speed, stability,
        and new features we can now add.
- Changed the Init method's parameters from (<long CurrentControl>)
        to (long ParentControl, <string LoadPath>, long Handle1=0, long Handle2=0,
        byte SkipCallbacks=false). Updated the templates to take this into
        account.
- Changed the Load method's parameters from (string CurrentPath,
        <long CurrentControl>, <byte LoadFromVar>) to (string CurrentPath,
        long CurrentControl=0, byte LoadFromVar=false). Updated the templates
        to take this into account.
- "Save" method improved.
- ThisViewer1.Load ('') now has the same effect as ThisViewer1.NewDocument().
        In the past ThisViewer1.Load ('') did nothing.
- feHtmlEditor::GetHtmlGraphicsInfo
        method improved (internal fixes)
- New methods:
        
          - FeHtmlEditor::SetFocus - returns focus to the window
            that the FE control is on
- FeHtmlEditor::HideControl
- FeHtmlEditor::UnhideControl
-  FeHtmlEditor::InsertTable
-  FeHtmlEditor.TableLayoutWindow
 
 
- Rewrote the FeMedia class! Improvements / changes include:
    
      - Init method used to take a single optional parameter. Method now
        takes several parameters. Template code updated, but your own
        source code will need to be changed.
- Several methods now return an optional byte, including:
        Play, Pause, Stop, Load, Init
 
- Methods which now return an (optional) byte, indicating success / failure:
    
      - FeBrowser::Back, FeBrowser:Forward, FeBrowser::Refresh, FeBrowser::Stop,
        FeBrowser::Edit, FeBrowser::PrintMe, FeBrowser::Init, FeBrowser::Kill,
        FeBrowser::Load
- FeHtmlEditor::Load, FeHtmlEditor::Edit, FeHtmlEditor::NewDocument, FeHtmlEditor::PrintMe
 
- New Functions:
    
      - fe_GetRegValue (string ParentFolder, string NameOfKey, string
        NameOfValue),string
- fe_GetOSVersionInfo ( ),string
- fe_DebugString (string)
 
- New examples:
    
      - feabc.app: Advanced_FeHtmlEditor_GetInfo
- feoi.app: Showing how to integrate File Explorer with CapeSoft
        Office Inside
 
- Removed the following methods:
    
      - Deleted an old (undocumented) form of the FeBrowser::Edit
        method, which took a string and a long as the two parameters...
        Don't expect any problems from this deletion.
- Deleted an undocumented method called FeBrowser::_LoopThruElementsByTagName,
        and an undocumented method called FeBrowser::OleControlSite_Invoke.
 
- Removed the following properties:
    
      - feBrowser.UseLateBinding, feBrowser.DontInitializeHtml1, feBrowser.NavigateMethod
 
- Changes to the templates:
    
      - Viewer Control - Html Editor options - new option called "Auto-Resize
        control", enabled by default.
 
- Fixed some issued with compiling in local mode.
- FeMediaAPI::Play method now supports long file names.
- Fixed an issue in the (undocumented) FeStorage class, and added a section
    for this class (and this issue) to the FAQ's.
- Worked on C6 compatibility
- fe_ShellExecute function improved
- New method: feMedia::EventCallback (callbacks
    now working for Media Player object)
  
- Updated the Media Player template and
    examples where the new EventCallback method is now working
  
- New method: feHtmlEditor::EventCallback
    (callbacks now working for Html Editing object)
  
- Updated the Html Editor template and
    examples where the new EventCallback method is now working
  
- Improved feHtmlEditor::GetInfo (now
    supports self.ObjType again)
  
- Rewrote the feHtmlEditor::KeyPressed
    method, now working again
  
- Commented obsolete template code, including:
  
-  All references to OCXRegisterEventProc,
    OCXRegisterPropChange, and OCXRegisterPropEdit have been commented
  
-  Local variables "feLastEvent"
    and "feLastKeypress" are now obsolete
  
-  No longer including the "OCXEVENT.CLW" file
  
-  OcxCallbackDeclarations code
    no longer used / needed
  
- Any code which you embedded into the
    "Event Handler Callback" embed points will now be orphaned.
    Please move this code to the new "EventCallback" method, or email
    us if you need help doing this.
    
- The fe_UnloadCOM function (internal) is now obsolete, the internal
    _ThreadQ is also now obsolete, as is the private glo_UsingOldClasses
    variable
- The feInit function is now private (was once used by the Global Extension
    template, no longer necessary)
- Expanded the FeHtmlEditor::Edit method to support Tables
- FeBrowser "DOM" code now supports IMG tags also
- Changed the data type "fe:QParam_Type"
in order to return more data via the feBrowser::GetElementQ method (this is the
only method that uses this data type), you might need to change your code
accordingly if you are using the feBrowser::GetElementQ method
- Improved / expanded the fe_OnlineStatus function, and added a new function
    called fe_OnlineStatusConnectionName
- Fixed an issue in the DOM code (GetElementQ, SetValueByName etc) which
caused GPFs if dealing with very large webpages. Several other internal
improvements here. (Ver 3.26)
- Internal improvements to the feBrowser, feHtmlEditor and feMedia "Init" methods.
- Fixed a possible problem with
	the way the feBrowser object was closing down
it's callback-event handler
- When using the Viewer Control to
	browse html pages (feBrowser), the
FileDialog dialog window used to select which file to view now shows the
	following (note, methods such as GetInfo also work with mht, xml and
	eml files!) :
  - "HTML
Files" - *.htm, *.html, *.mht
- "Text Files"
	- *.txt
- "Image Files"
	- gif, jpeg, png,
art, au, aiff, and xbm
- "XML Files"
	- *.xml
- "EML Files"
 
- 
	API calls to CreateCompatibleDC were
	failing in apps using FE - Fixed
- The
	feBrowser::ClickByRecordNumber method should now also support "Input"
	element types
- New function called
	fe_SetFocus. Not yet documented or supported.
- Fixed issue with DOM code
where element collections contain more than 127 elements (handled by the dll, no
changes needed to your code)
- Changed the FeBrowser::EventCallback method parameters - This will
break your current code, please see the docs for how to change your code
- New approach and new methods for handling callback events for the
FeBrowser object, see the docs for more info ( 32 new methods to handle IE
	events )
- The DOM methods SetValueByName, SetValueByID etc now cause the "OnChange"
	and "OnBlur"
events to fire in the html container when you set the value in an html list-control
	(SelectElement) or input element from your code! This means that if the html calls a function (e.g. javascript / vbscript) when the user chooses something in a droplist
	or enters some text into a field, then that
function will be called when your code changes the droplist selection or input
	field also! This is all done automatically inside the dll, so you
	don't need to change any existing code. Real life example: I
	had a page with two droplists. The second list got populated with
	options based on what you picked in the first list - done via a javascript
	function fired on the OnBlur event of the first list. Using FE to
	select something in the first list will now trigger the script function to
	fire, which fills the second list, which you can then select from using FE
	as per normal.
- Bug Fix : TextArea elements were not being returned in the Element Queue if
you selected "all elements"
- New method for feBrowser, feHtmlEditor, feMedia - SetFocus
- feHtmlEditor::Edit method now supports fe:HtmlEditor_Outdent parameter
- Documentation improved (broken into several smaller documents)
- Seem to have fixed the problems with using FileExplorer and OfficeInside
	in the same apps (standalone mode only, local mode still not working)
- Internal improvements to the FeMediaAPI.Play and FeMediaAPI.Stop methods
- New functions: fe_MCIPlay and fe_MCIStop
- Some Win 98 first edition issues.. - think they're fixed in Beta 2
- Changing focus between windows hosting multiple WebBrowsers all
            implementing Event Handlers croaks the app..
	-
	fixed in Beta 2
- FeBrowser::Update method has been broken - fixed
            in Beta 4
- Html Browser and Html Editor controls show "through" tabs
            - fixed
- FeMedia object wasn't working under Win XP in
            beta 1 and beta 2, fixed
            in Beta 3
- HtmlBrowser and HtmlEditor had an issue with
            legacy resize implementation, fixed in Beta 3
- feBrowser::GetElementQ partly broken in Beta
            1 - fixed in Beta 4
- Submitting forms broken -
	fixed in Beta 4
- Saving html from the feHtmlEditor control to
            a variable broken in beta 4 - fixed
            in Beta 5
- FeBrowser event callbacks are broken. -
	fixed in 3.44
- Callbacks broken for Media object ( see feabc.app "Advanced_Video_Callbacks"
            ) - fixed in Beta 17
- Callbacks broken for HtmlEditor object ( see feabc.app "Advanced_feHtmlEditor_Callbacks",
            and "Advanced_feHtmlEditor_TabAndRightClick" ) -
	fixed in Beta 17
- Finish the remaining FeHtmlEditor methods not yet using the new engine:
	
		- GetInfo (just a few items not yet done, almost all were never
                documented) - fixed in Beta 17
- KeyPressed - fixed in Beta 17
 
- Seems to be an issue with having my Viewer control inside a (boxed)
            group, see the feabc app's "Advanced_feBrowser_Tabs" procedure.
            For now you can temporarily work around this issue by not having Viewer
            controls inside (boxed) groups. - fixed in Beta
            19
- Issue with the feBrowser object "leaking" through tabs
            as the window opens - fixed in Beta
            19
- Issue with the feHtmlEditor object "leaking" through
            tabs as the window opens - fixed in Beta
            19, requires some code
- Support for FE / Office Inside co-existing in same apps
			- seems to be fixed in 3.38 Beta
- Adobe Acrobat 6 support - needs to be tested
			- no known issues by 3.44
- feMedia events not passing in correct parameters
			- done in version 3.47
- Filling in fields contained in frames - done
- Submitting forms contained in frames - done
- FeHtmlEditor docs need to be updated - mostly
	done
- FeBrowser has been reported to "show through" tabs in
            legacy apps - partly fixed in 3.11
- Ability to "push" buttons via code (feBrowser) -
	done
- Revisit and document the SilentMode property -
	done
- Setting radion buttons from code using feBrowser -
	done
Version 2.9X : ( Several unofficial releases )
  -  First version ever where we've changed some things making this version
	non backward-compatible. We have added a section to the docs to step you
	through how to upgrade your apps to use this version. Changes outlined below.
    
      -  Several local / global variables are now no longer used - moved to
        properties.
-  The "Path Variable" option on the Viewer Control templates
        is now disabled / obsolete.
-  The "Use old classes" option on the Global Extension template
        is now disabled / obsolete.
-  Changed the way we load initial documents for each Viewer control,
        code moved to a procedure called "feLoadInitialDocument_ObjectName",
        embed points added so you can customize this. ( Also: Some objects
        were loading the initial document from ThisWindow::Init, other from the
        Window Open event, now all objects use the window open event. )
-  Moved the code that triggers an event:accepted on the File Explorer
        entry control (Viewer template) from ThisWindow::TakeFieldEvent, to a
        new procedure called "feWindowTakeFieldEvent_fePathControl_EventAlertKey_ObjectName",
        which is called from TakeFieldEvent. Embed points provided.
-  Moved code out of ThisWindow::TakeEvent into a new virtual method called
        TakeEvent.
-  Moved code from the TakeEvent logic into a routine called "feWatchingParentPropHideStatus_ObjectName".
        Embed points preserved.
 
-  Various improvements, fixes etc, including:
    
      -  Fixed a problem with the feMedia (Video) control's event:alertkey code.
-  FAQ's
-  Docs (including Summary of callback events)
-  Examples ( including in feabc.app: new Frames examples; new callback
        example for feMedia and feHtmlEditor, new example showing how to load
        from a listbox )
-  Loading initial documents for feMedia objects (template settings) redone.
-  Changed the equates for the feBrowser events (old ones still
		supported but no longer documented. )
-  Added equates for the feMedia callback events ( and updated docs. )
-  Added equates for the feHtmlEditor callback events ( and updated
		docs.)
 
-  The feBrowser::Load method now takes additional parameters, the only (additional)
    one working at this stage is one to specify a TargetFrameName.
-  Removed several options from the template settings.
-  New method: FeMedia::TranslateEventID (similar to FeBrowser::TranslateEventID)
-  New function called "fe_StartIE". Replaces the feBrowser::StartIE
    method which is no longer documented.
-  Added some code to the Advanced_feBrowser_DOM example, courtesy of Carl Barnes.
-  New procedure in the feabc.app example, called "Advanced_feFlash_HelpAbout".
-  Eliminating variable size restrictions. So far have done the feBrowser
    Navigate method. More to come.
Version 2.5e : ( Released 20 Dec 2002 )
  -  The FeBrowser::EventCallback method now takes 7 omit-able parameters, also
    improved the methods functionality.
-  Updated the "Advanced_feBrowser_SimpleCallbacks" procedure in
    feabc.app to demonstrate FeBrowser::EventCallback's new functionality.
-  Worked on documentation / example applications.
Version 2.5d : ( Released 12 Dec 2002 )
  -  The self.Debugging property which was being set by the global extension
    template is now set by passing a parameter to the exe, in the form of "/debug0",
    "/debug1" or "/debug2".
-  Tidied up the documentation and examples. Concentrated mainly on
    FeBrowser and FeHtmlEditor.
-  Added three new buttons to the Html Editing buttons controls, to "Select
    All", "Undo" and "Redo".
-  The ClassVersion method has been replaced by a new function called fe_ClassVersion.
    The old method still works but is now undocumented.
-  The OnlineStatus method has been replaced by a new function called fe_OnlineStatus.
    The old method still works but is now undocumented.
-  New concept ( thanks to Charles Edmonds <g> ); there is now a subfolder
    in your C55\3rdParty\Docs\FileExplorer folder called "misc".
    I'll be adding useful pages to that folder from now on. Any suggestions
    welcome.
-  Renamed most of the properties in the FeBrowser and FeHtmlEditor classes.
    Have left the old properties in tact, still support them etc. so your code
    won't break. Busy changing all docs and examples to use the new, correct
    property names.
-  Templates no longer call the feInit function.
-  The feBrowser::Kill method now takes a parameter:
	Kill(byte level=0) 
-  The FeHtmlEditor::Edit method now supports the following (additional) equates:
    
      -  fe:HtmlEditor_SelectAll
-  fe:HtmlEditor_Undo
-  fe:HtmlEditor_Redo
 
-  Improved the CallFe_EditMethod template
-  Added equates for the feBrowser::Edit method, changed templates accordingly
-  The following (additional) feBrowser events are now supported in the library:
    
      -  NavigateError
-  PrintTemplateInstantiation
-  PrintTemplateTearDown
-  UpdatePageStatus
-  PrivacyImpactedStateChange
 
-  The following feBrowser events are now documented and use these equates:
    
      -  fe:WINDOWSETRESIZABLE
-  fe:WINDOWSETLEFT
-  fe:WINDOWSETTOP
-  fe:WINDOWSETWIDTH
-  fe:WINDOWSETHEIGHT
-  fe:WINDOWCLOSING
-  fe:CLIENTTOHOSTWINDOW
-  fe:SETSECURELOCKICON
-  fe:FILEDOWNLOAD
-  fe:NAVIGATEERROR
-  fe:PRINTTEMPLATEINSTANTIATION
-  fe:PRINTTEMPLATETEARDOWN
-  fe:UPDATEPAGESTATUS
-  fe:PRIVACYIMPACTEDSTATECHANGE
 
-  The FeBrowser::EventCallback method now takes more parameters (omit-able).
    This method is being worked on and should be more useful in the next release.
-  Expanded the (undocumented / internal) Debugging method
Version 2.5c : ( 8 Nov 2002 ) ( 43rd official release of File Explorer,
exactly 2 years since beta 1 )
  -  Fixed a problem / incompatibility between FE and IE6. The problem
    would have resulted in an error message to the effect of "There was a
    version error trying to launch the pdf control, version error: 6.0.2600.0000"
    when trying to load PDF files. The problem only exists when you set
    the templates to "Use the latest version" of Adobe Acrobat.
    If you have set the templates to specifically load Adobe 4 or Adobe 5 you
    would not experience this problem.
-  Improved / enhanced various methods, including:
    
      -  Improved the FeMaster::GetRegValue method - Now supports DWORD data type
-  Improved FeMaster::OcxVersion method ( enhanced PDF version info support)
-  Improved FePDF::Load method - more robust
-  Several improvements to the FePDF class, and updated the documentation
 
-  Changed the position of the feDispose() call (template change).
-  The feBrowser::GetHtmlGraphicsInfo and feHtmlEditor::GetHtmlGraphicsInfo
    methods now (alternatively) accept a string as the passed parameter.
-  The fePDF::Load method now optionally returns a byte, indicating whether
    the method passed / failed. Will expand this concept and change the
    other objects and document this in the next release.
-  Updated the fenet.app (File Explorer / NetTalk) example.
-  Updated the Advanced_fePDF_VariousControls procedure in the fe_abc.app(demo).
-  Added a section to these docs with the url's to download the latest components.
Version 2.5 : ( Released 4 Oct 2002 )
  -  Have rewritten a lot of the COM implementation code, major internal update.
    At this stage only the feBrowser object is affected by this.
-  Template change - Changed the way we establish %family.
-  Worked on and enabled the "Callback Functions - Controlling where
    new pages open" example in the abc demo app ( from the Advanced -
    FeBrowser ) menu. Have added a new method ( StartIE - still
    undocumented ), and a new value which you can return from the EventCallback
    method ( fe:DontOpenNewWindows ) which prevents new Internet Explorer
    windows from opening. You now have complete control over what happens
    when a user clicks on a hyperlink: you can cancel navigation, divert navigation,
    open a new IE window, open the URL in the current window, or in a new CW window.
    See this example for more info. 
-  Fixed a regression in the Html2 (editor) object's init method.
-  Replaced the fe_nettalk.app example with a new example, called fenet.app.
    The new example shows a better way how to download and view emails.
    Using this example you can view embedded images, which the old example didn't
    do.
-  New method: FeMaster::ConstructEML Writes an eml file to disk
    from the parameters which you pass it. ( not yet documented - still
    under development ) 
-  Worked on the FeBrowser::GetElementQ method...
    
      -  the first parameter can now be omitted
-  better support for a wider range of tagnames ( including
        text boxes, input fields, drop lists... )
-  improved the example (fe_abc.app: Advanced - feBrowser
        - Accessing the DOM)
 
-  Improved the FeBrowser::GetValueByName and SetValueByName methods - improved
    compatibility. ( Can now read / write html input fields, drop lists,
    and text boxes ).
-  The FeBrowser::GetElementTypeByName method is now obsolete. Was never
    documented anyway.
-  The FeBrowser::SubmitForm method now takes an (omitable) parameter, "FormName".
    This enables you to specify which form you want to submit in the event that
    there is more than one form on an html page.
Version 2.4d : ( Released 11 July 2002 )
  -  New examples - Made a new example called fe_google.app - ABC, demonstrates
    how to do an "automatic" search from a variable, using File Explorer
    and Google.com. The same technique could be used to send an SMS from
    a website, download bank statements, etc etc etc.
-  Modification - Template change, possible problem fixed - relating to having
    multiple Viewer controls on one window
-  New section in docs and example in abc app - see [link obsolete]
-  Template Changes - Viewer Control now forces you to select one file type
    if using the New Classes. Html Edit buttons now using equates in method
    calls.
-  Tidied up the abc demo app.
-  Reduced the time between when the CW OLE control hides and the WebBrowser
    control appears
-  FeBrowser::SetValueByName - now takes an extra, optional parameter.
    ( not yet documented - still under development ) 
-  New method - FeBrowser::GetElementTypeByName. ( not yet documented
    - still under development ) 
-  New method - FeBrowser::SaveAs. ( not yet documented - still
    under development ) 
Version 2.4c : ( Released 16 May 2002 )
  -  Template tweak - Changed the way we establish the CW version, and cleaned
    up the code applicably
-  New dll function - called feInit (string), which the template will
    call for you at the start of your program. At this stage it is only
    used to let the dll know which version of the template you are using.
-  Started working on c55fex.hlp, in your 3rpParty\bin directory.
-  More work on the FeDUN object. See the Global
    Extension options, third tab. Note that this is not "core"
    functionality of File Explorer, NetTalk provides advanced DUN features.
    This is also still being developed, so please report any problems. We
    have tested the DUN code on Win 98, and Win 2000, using IE 5, 5.5, and 6.
-  Fixed an issue with the feBrowser control, regarding "popup"
    windows (security login windows etc.).
Version 2.4b : ( Released 10 May 2002 )
  -  Added the NewDocument method to the feHtmlEditor object, and included
    a new button (New) in the Html Editor buttons control template (see
    example app, simple feHtmlEditor example).
-  Fixed a bug in the template: if you chose to use the old classes, the Html2
    object was starting up as an Html3 object!
-  Updated the fe_nettalk.app demo application to use the "new"
    File Explorer classes.
-  Updated the FAQs and example to show how to load html into the feHtmlEditor
    control, where the html "contains" images.
-  Started work on functionality to control calling the default DialUp Networking
    connection, and close the connection. Still working on this, not yet
    documented.
-  The feBrowser object's Load method now also accepts an extra
    two (optional) parameters, to support the old feViewer code.
-  Created the (undocumented) FeDUN object, and the new (undocumented)
    FeBrowser.AutoDialDefaultInternetConnection property.
Version 2.4 gold : ( Released 26 April 2002 )
  -  Fixed a small bug in the template.
-  Redid some of the system debug messages.
-  Did some more work on the documentation.
Version 2.3 beta 31 - 36 : ( Last release on 25 April 2002 )
  -  Broke the single FeViewer class into separate classes for each of the "File
    Types". See the section in the docs called The
    New Classes for more...
-  Modified the FeMedia::Stop method to stop the playing file and return to
    the first frame - it was behaving the same way as the pause method.
-  New property (all objects) called LastLoadedDocument - each time you call
    a load method the file you are loading is stored in this property. This
    will allow the Reload method to now work with all the objects.
-  The "old" MediaAPI method is being replaced by a new class called
    "FeMediaAPI", which contains two methods, play and stop. Must
    still document these.
-  The templates now implement the new classes.
-  Fixed GetOSVersion method in the new feBrowser class.
-  Added several examples to the abc demo app, including "Changing the
    IE printer settings".
-  Replaced the "Top of procedure" embed point with two new ones
    (Top of procedure, before and after template code) - have left the old embed
    point in for backward compatibility.
-  Now if you're using only the "Declare File Explorer Object" code
    template on a procedure, some of the "usual" embed points will be
    available (which were only available if using the Viewer Control templates).
-  Added some new embed points.
-  Added a new method called TranslateEventID for the feBrowser
    object.
-  Added two options to the global extension template: Send messages to
    the system debugger, and Send detailed descriptions to the debugger.
-  Updated the Summary or the various callback events section in the
    docs.
Version 2.3 beta 20 - 30 : ( Released 28 March 2002 - 9 April 2002 )
  -  Several tweaks, small bug fixes, etc. Tidied up the docs and examples
    in places.
-  Bug fixes included a problem with the PDF object (ocx) and Win 2000.
-  New method called HtmlSilentMode for the Html3 object, still working on
    this...
-  Fixed a problem in the GetHtmlGraphicsInfo method.
-  New methods for accessing the Document Object Model using Html3.
    Methods called GetElementQ, GetValueByID, SetValueByID, GetValueByName, SetValueByName
    and SubmitForm. - see the Advanced - Html Browsing - Other Html3
    Examples - Accessing the DOM example in the abc demo app.
-  Documented the DbgMsg method, in case you want to use something like it
    in your own apps.
-  Event callback support for Html3 done. See the new EventCallback
    method and new examples.
-  Made some changes to the Document Viewer control template.
-  New method called OnlineStatus, which returns a byte indicating your current
    "internet connection" status (whether you're online and how you're
    online)...
-  Fixed the problem regarding accessing the NT4 registry that I was still
    working on in beta 15.
-  Added a section to the docs called Header / Footer strings for IE page
    setup for those of you who've asked about this.
-  Started updating the documentation, and made a new section called What
    you need to ship, and made an index for the FAQ's at last.
Version 2.3 beta 6 - 15 : ( "Unofficial" Final Release on 18
March 2002 )
  -  Major structural changes to the Html3 (COM) object, general tidying up
    of the File Explorer class.
-  Made the Edit and GetInfo methods fully compatible with the Html3 (COM)
    object (using early binding).
-  Worked on the GetInfo method - expanded it for the Html3 object:
    now Html3 has more functionality than Html1. Added a new procedure called
    "The GetInfo Example" to the abc demo app which demonstrates the
    changes... Now you can get to data such as InnerText, OuterText, InnerHtml
    and OuterHtml directly from a loaded Html3 object - previously only Html2
    (editing) had this functionality. This means you can now parse the
	html
    directly from the page you are currently browsing (by using "Instring"
    for instance). -COOL! Still working on these, not completely
    documented. 
-  IMPORTANT: In the very early days of File Explorer, the GetInfo
    method took a string (Object Type) as a parameter, which we did away
    with long ago. Until now we have allowed the parameter to be passed,
    and simply ignored it, for the sake of existing code. From this version
    of FileExplorer such calls will result in an error at compile time, you need
    to change the way you call the method, to not take that parameter, so ThisViewer1.GetInfo('html1')
    will become ThisViewer1.GetInfo(). 
-  New method called GetIEPageSetupInfo which updates three new properties
    called self.EPrinterHeader, self.IEPrinterFooter and self.IEPrinterOrientation.
    Can be used to save the IE Page Setup values so that you can restore them
    later if your app changes them. See FAQ29, and the Advanced_SystemInfo
    procedure in the demo abc app for exampes.
-  You no longer need the "feapi.clw" and "feequ.clw"
    files which used to ship with File Explorer. You can delete these files
    from your c55\3rd Party\libsrc folder.
-  Deleted the HiddenMediaLoad method. This method was never
    documented, so nobody should be using it. If for some reason you were,
    you should rather use the MediaApi method.
-  File Explorer now implements either late or early binding for COM support,
    defaults to early binding which is faster. Late Binding is not fully
    implemented yet.
-  Made a new function for the FE dll, called FeDispose, see the docs for
    implementation. If you're using the templates you don't need to worry
    about this.
-  You can now tab from CW controls to fields inside the Html3 object.
-  The (internal) registry methods now support creating registry keys if they
    do not exist - the user will be prompted before any new key is created.
-  Changed the ClassVersion method to support an optional parameter, which
    when passed as true will result in the method returning a version
	number
    which will increment by one each time File Explorer is released...
-  New method called GetOsVersion, returns the operating system as a string,
    and sets an internal property called self.OS which is used elsewhere internally.
-  Deleted the properties called self.Win2K and self.Win98 - these were private
    so they won't affect anyone.
-  Changed the error messages for the RegSetValue and RegGetValue
    methods - internal change. These methods are not documented.
-  Added code to the template to ensure that the entry fields are updated
    when you select a file to load from the lookup button.
-  Changed the CallFE_LoadMethod template's way of loading Html3 documents.
-  Fixed a problem regarding accessing the NT4 registry (fixed "properly"
    in beta 21)
-  Have started working on controlling the DOM from within File Explorer for
    the Html3 object, have a look at the "Advance - Html Browsing - Other
    Html3 Examples - DHTML Preview" example in the abc_demo app. One
    of the cool things this will enable you to do will be to read / write data
    from html fields to Clarion variables...
-  Redid the Storage File Example code and example. Still working on
    this... - undocumented. 
-  Two new methods, Hide and Unhide. Still working on
    this..., issues with Win 98..., not yet documented... 
Version 2.3 beta 5 : ( Released 5 Feb 2002 )
  -  Some very minor changes since the last release. This release goes
    out for the sake of
	CapeSoft
    Mailer 1.8, which requires this version of File Explorer...
Version 2.3 beta 3 : ( Released 25 Jan 2002 )
  -  Fixed a bug in the LoadPdf method, where
    if you tried to load a Pdf document using the most recent version of Acrobat
    installed on a machine (in other words you didn't specify a preferred version)
    it would in cases not load the Pdf document using the latest version of the
    Ocx control.
-  Removed the internal method called ComNew, was a private method so this
    won't affect any existing code.
-  Major internal class changes, various issues with the Html3 object now
    resolved.
-  The following internal properties are now obsolete: self.SaveLocation,
    self.PropValue
-  The MediaApi method was using the self.MedApiErrorString
    property to hold any errors which the method experienced. This method
    is now being phased out, and such errors are rather being sent to the system
    debugger.
-  New example in the abc_demo app for Html3, demonstrating calling one procedure
    three times on new threads and passing it a URL to load.
-  Adjusted the template to load initial documents for the Html3 object slightly
    later.
-  The second parameter in the LoadHtml1 method
    is now omitable. If you call this method and omit the second parameter,
    it will assume you are implementing COM (Html1 then becomes Html3) and will
    try and load the file into an already open COM object...
-  Renamed the ComLoad method to LoadHtml3;
    the ComInit to Html3Init; ComKill to Html3Kill
    (which is now called for you when you call the generic kill
    method); and ComResize is now Html3Resize.
-  Three new properties for the Html1 object, all of which can be set
    using the Update method: Html1PrinterHeader,
    Html1PrinterFooter, Html1PrinterOrientation. See FAQ 29 for a code example.
-  Made the new Html3 object legacy compatible.
-  The somewhat undocumented method called RetrieveFromStorage (see the Storage
    File Example) now takes an optional second parameter (byte). If
    this parameter is "true", a new temporary file is created, if "false",
    data is appended to the existing temporary file. Have updated the Storage
    File Example and included an abc example app.
-  The Html3Resize method now takes an additional
    four (optional) parameters.
-  New method called ClassVersion.
    Returns a string containing the current version of the File Explorer class.
-  Fixed a problem where Html3 objects which were populated on tab controls
    appeared to "bleed through" the tabs, appearing on each tab.
    See the new procedure in the abc demo app called "Advanced - Html3 -
    Viewers on different tabs".
-  Found and fixed a limitation in the GetHtmlGraphicsInfo
    method.
-  You can now use the Update method to update
    properties that do not traditionally belong to the object type you are currently
    using. For instance if you are using an Html3 object and wish to update
    the Html1 object's PrinterHeader property, you can do this.
-  Made the Navigate method compatible with
    the MediaViewer control. Implemented in the abc demo app, on the "simple"
    Video Viewer procedure, which now has four extra buttons enabling you to move
    from frame to frame in the currently loaded video.
-  The PrintMe method is now Html3 compatible.
-  Documented the SetOcx method.
-  Updated the Methods section in these docs.
Version 2.3 beta 1 : ( Released 21 Dec 2001 )
  -  Introduced COM and started shipping a File Explorer dll. See
    the section titled File Explorer goes COM,
    and notes on the new methods in the methods section.
  
-  The only new property for the Html3 object (Html1 using COM) so far is
    ComInitialized. See the notes under the properties
    section of these docs for details.
-  The GetInfo method now updates the HtmlUrl,
    HtmlTitle, HtmlBusy and HtmlDocumentType properties for the Html3
    object.
-  Changed the "Advanced_Html1_LiveURL" procedure, and added the
    "Advanced_Html3_LiveURL" procedure to the abc demo app. These
    two procedures are identical, other than the fact the the Html3 procedure
    has "Use COM" enabled on the Viewer Control template. Have
    also added the "Various Code Templates" example for Html3.
-  The following code templates are now compatible with the new Html3 object:
    CallFe_EditMethod; CallFe_LoadMethod.
 
-  Changed the template: If you select to enable Callback Functions from the
    template properties (Document and Media Viewer controls), then the callback
    functions will be "re-called" each time the load method is called
    from the template. This fixes the potential problem of Callback Functions
    "stopping working" when you load a new page into the ocx.
    Applies to the Html1 Object. This is done automatically (see your code
    after the call to parent.load).
-  Worked on the FAQ's (documentation). Added FAQ 27 and 28.
-  Introduced the SetRegValue method.
    At this stage this method only exists for internal testing purposes.
-  New method called AnalyzeEvent, built
    to assist with testing the callback function embed point activity at design
    time. Added a new example to the abc demo app ("Advanced - Html1
    - Callback Function Demo") and a new section in the docs called Monitoring
    Callback Functions to show how to implement this.
-  New method called Busy, returns busy status
    of the ocx at a point in time.
-  Fixed the loading of pdf files, in regards to setting the zoom property
    set in the viewer template.
-  The "PdfScrollbars", "PdfToolbar" and "PdfZoom"
    properties can now be set after a document has loaded using the Update
    method. Have changed the documentation for those properties and included
    example code.
-  The Init method is now called for you by the
    template, at the top of each procedure.
-  Fixed a bug in the LoadPdf method.
    Under certain circumstances if you told it use Acrobat 4 and Acrobat 4 was
    not installed, it would not then use Acrobat 5 instead.
Version 2.2f : ( Released 7 Nov 2001 )
  -  Fixed a template problem re the Storage File Example - legacy incompatibility.
-  Enhanced the class' internal error logging.
-  The Navigate method now allows you to navigate
    to a specified page number. Updated the CallFe_NavigateMethod
    template accordingly, and the "Advanced - PDF - Various Controls"
    procedure in the abc demo app.
Version 2.2c : ( Released 25 October 2001 )
  -  Fixed another problem with using the Html1 ocx in Windows 2000 Prof.
    An "OLE Automation" error was being generated by the LoadHtml1 method.
    Worked around this internally.
-  Added an option to refresh the html page after updating the background
    color to the HtmlBackgroundColorButton
    control. The reason this may be necessary is that images in the html
    page you're updating which do not contain a "full" path ( such as
    " subfolder1/image1.gif " ) are not displayed once you change the
    background color of an Html2 page - an ocx refresh issue. This new option
    on the template refreshes the page each time you change the background color
    by saving, and then reloading it. Made a new method called Reload
    to do this. Documented in FAQ 26.
-  New property called " HtmlRootFolder ", to be used with the GetHtmlGraphicsInfo
    method. This property is to be primed before calling that method, with
    the directory that contains the html file you're processing in the method.
    It is needed to support embedding graphics in NetTalk which take the form
    "/Subfoler/Graphic.gif" ( i.e.. incomplete paths ). See the
    relevant docs for more info.
Version 2.2 : ( Released 23 October 2001 )
  -  New template (control template) called HtmlBackgroundColorButton.
    Enables you to change an html2 file's background color. Three new methods
    created to enable this feature: Html2Settings,
    RgbToHex, and PickColor.
    Button added to the "Html Editor" example in the demo app that ships
    with FE.
-  Improved internal method logging.
-  Tidied up template code, method definitions.
-  Improved the "Kill" method, was generating an error message on
    Win 2000 Proff using IE55 SP2.
-  Known Issue: It seems as though having a status bar on your
    app's frame, and also possibly having "AutoDisplay" enabled on your
    child window, seems to make the IE ocx less stable!!! Still testing
    this, will confirm in the next release whether this observation is accurate.
-  New method called HtmlEstPath.
    Pass it a url (from disk, not web), and it returns the folder. (e.g..
    Pass "file:///c:/folder/file.htm" and get "c:\folder"
    back. ). File Explorer uses this method from within its GetHtmlGraphicsInfo
    method as an enhancement. Done mainly for NetTalk users who want to
    embed graphics in emails, as this allows you to embed graphics which don't
    have "valid" paths.
-  The OcxVersion method was returning a
    String(100), now returns a String(255).
-  Made several changes in various places to work around some issues regarding
    Windows 2000 Professional. Much happier now. Included changes
    to the Kill and Unload
    methods.
-  The OcxVersion method now supports Windows
    2000 when passing the "windows" parameter to establish the current
    version of Windows.
-  Added a new section to the docs called "External
    Error Messages", which will list common errors generated by Windows
    or the ocx controls (or dlls) that File Explorer uses, along with descriptions
    and suggestions for those errors. Suggested reading.
-  New tab on the Document
    Viewer's properties, called "Flash". Will expand this
    in the next release, but for now offers the ability to set whether or not
    flash files should play repeatedly. More options to come.
-  Several new properties for the Flash object: FlashPlaying, FlashQuality,
    FlashScaleMode, FlashAlignMode, FlashBackgroundColor, FlashLoop, FlashMoviePath.
    See the properties section for more info.
Version 2.1f : ( Released 12 October 2001 )
  -  Enhanced the GetHtmlGraphicsInfo
    method, now covers a wider scope.
-  New example app in " C55\3rd Party\Examples\File Explorer\FE and NetTalk
    " called "fe_nettalk.app". Demonstrates how to send and
    receive email using CapeSoft
    NetTalk and File Explorer. You need to own both products in order
    to compile this demo. 32 bit, C55, abc.
-  Some cosmetic changes to the template options for the Document
    Viewer and Media Viewer
    controls.
-  Added a new method called "SetOcx" (currently undocumented).
    See the Document Viewer
    control's "Advanced Options" tab. There is a new drop list
    called "Preferred Ocx" which lets you use the Html2 objects ocx
    control for the Html1 object! Tried to explain this in the Document
    Viewer control's documentation.
    Still very much in test phase and hence not well documented yet.
-  The section in these docs which was called "Things to avoid"
    has been renamed to "Things to watch out for"
    and has been updated.
-  Norton Antivirus found to make Html1 ocx unstable. Built in a work-around
    for this. Tried to contact Norton for a response - no luck.
Version 2.1 : ( Released 4 Oct 2001 )
  -  Worked on the OcxVersion method.
    It used to only support the "pdf" object type, now it also supports
    "html1" and "flash".
-  The OcxVersion method used to take no parameters, and used the ObjectType
    property to establish which ocx it should report on. It now can optionally
    take the object type as a parameter instead.
-  The OcxVersion method may need to read information from the Windows Registry
    in order to establish control version information. In order to read
    from the registry it makes use of a new method called GetRegValue.
-  New code template called DeclareFeObject.
    Very simple code template which simply creates a File Explorer object so that
    you can reference it from code. Useful for procedures where you want
    to implement the File Explorer class from code, but don't want to use any
    of the "main" control templates which make their own objects.
-  New example in the abc demo app that ships with File Explorer, " Advanced
    - System Information ". Demonstrates how to use the OcxVersion
    method, and the new DeclareFeObject
    control template, and contains notes on the new GetRegValue
    method.
-  New section in the docs called IE Versions,
    which is a useful reference for using the OcxVersion
    with the 'html1' object type. It outlines the version numbers for Microsoft
    Internet Explorer, along with descriptions. This information is available
    from the Microsoft web site.
-  New method called "RemoveTempFiles"
    which can be used to remove the temporary files that some of the File Explorer
    methods create while in use. Primarily intended for the class' internal
    use, will build on this method in future releases.
-  Made some changes to the "open initial document" code in the
    Viewer template.
-  The UseLogFile method now adds the version
    info for Windows and IE in the log file it generates.
Version 2.0 : ( Released 21 Sep 2001 )
  -  In version 1.9e we did away with the fourth parameter in the load
    method. In version 1.9f we've changed the templates to not use this
    fourth parameter either. Note that the parameter is still supported
    for backward compatibility, but has no purpose.
-  Fixed a bug in the Media Viewer control template where a field called "Path"
    was appearing on the "Class" tab of the control's properties sheet.
-  Added the ability to generate log files ( for debugging, see Generating
    A Log File ) by simply switching on an option on the "Class"
    tab or the Viewer Controls'
    properties sheet. No need to code anything anymore.
-  Added to the documentation for the "DisableWait" property.
-  Renamed "Send commands without waiting for ocx" on the "Advanced
    Options" tab of the Document
    Viewer Control's properties sheet to "Don't Wait for OCX".
    Same effect.
-  Added a second check box to the Document
    Viewer Control's "Advanced Options" tab called "Don't Initialize
    Ocx". See the notes for that template for details. This option,
    along with the "Don't Wait for Ocx" option on the same tab affect
    Html1 files, and Flash files. Turning on these options speeds up the
    time it takes to load a file, but (for Html1 files) removes the added stability
    which File Explorer provides. We turned on both options to load a 60K
    flash file and the load time went down from 3,5 seconds to 0,3 seconds!
    Very useful when you're not planning on loading several html1 files into the
    control in rapid succession, and added stability therefore is not needed.
-  Split the section for the Document
    Viewer's "Advanced Options" tab into two sections in these docs,
    rewrote both sections.
-  New method called LoadFlash.
    Up until now Flash files have been supported by loading them using the html1
    (Internet Explorer) ocx. We've now built in support for the Macromedia
    Flash ocx, which opens up more possibilities. If you're using the
    Viewer Control to view
    Flash files, nothing needs to be changed from your side. The templates
    simply handles Flash files in a new way. 
-  The "Object Type" property can now be set to "flash".
-  New property called "FlashUseHtml1". Setting this to true
    before calling the Load method instructs File Explorer
    to load Flash files using the Internet Explorer (html1) ocx, rather than the
    default Macromedia ocx.
-  The PlayMedia, PauseMedia
    and StopMedia methods have now been replaced
    by new methods called Play, Pause,
    and Stop. These new methods can be used for both Media, and Flash files!
-  New method called Navigate. This method
    is actually replacing the PdfGoto method, and
    behaves in exactly the same way, taking the same parameters etc. The
    difference is that the new Navigate method will be generic in that
    it will be used for file types other than just "pdf". Have
    updated the " Advanced - PDF - Various Controls " example in the
    abc demo app that ships with File Explorer to show you how to use this new
    method.
-  New method called FlashCurrentFrame
    for the flash viewer. This method returns a long indicating the currently
    loaded frame of the currently playing flash file. Made this a method
    (as opposed to a property) as time is crucial when you need this info.
-  New example in the abc demo app; " Advanced - Flash - Various Other
    Controls ". Demonstrates the Navigate method.
-  New property for Flash files called FlashTotalFrames. Implemented
    using the GetInfo method.
-  New control template called " Flash
    Control Buttons " , which allow you to populate a "Stop",
    "Play" and "Pause" button onto a window, to control the
    playing of Flash files. See the (simple) Flash Viewer procedure in the
    demo app for an example.
-  Changed the advanced examples for the Flash and PDF Viewers (in the abc
    demo app).
-  New code template called "CallFe_NavigateMethod"
    which provides an easy way to implement the Navigate
    method. See the "Advanced - Pdf - Various Other Controls"
    and "Advanced - Flash - Various Other Controls" examples
    in the abc app that ships with File Explorer.
Version 1.9e : ( Released 18 September 2001 )
  -  Created embed points for the parent call to the HtmlInitialize, LoadPdf,
    PrintPages, PdfGoto, MediaApi and Init methods, before and after the parent
    calls.
-  Started inserting code templates. Have done the following templates:
    
      -  To call the "Load" method ( CallFe_LoadMethod)
-  To call the "Edit" method ( CallFe_EditMethod)
-  To call the "MediaApi" method ( CallFe_MediaApiMethod) 
 
-  Split the "Template Options" section of these docs into catagories
    and revamped the docs.
-  Added a new example procedure to the abc app. "Advanced - Media
    Sound - Background Load" now has two procedures: one showing how to do
    this using the control template (as it was), and a new one showing how to
    do this using the new code template.
-  Example in the abc app called "Advanced - Html1 - Various Code Templates",
    demonstrating the CallFe_LoadMethod and CallFe_EditMethod code templates.
-  Rephrased the question in FAQ 24, and updated all other FAQ's.
-  New FAQ (25) explaining how to start playing an MP3 file in the background,
    as your app starts running.
-  Renamed the example "Advanced - Html1 - Web Browser Example 1"
    to "Advanced - Html1 - Live Url" and commented the code. Also
    added a button labeled "More Info" which contains code demonstrating
    the GetInfo method.
-  The Load method now takes only three parameters,
    as we've done away with the fourth parameter called "Explorer Control".
    For sake of compatibility with existing apps, you can still call the method
    using all four parameters, in which case the fourth (obsolete) parameter is
    simply ignored.
-  Because it is possible to have more that one version of Adobe Acrobat installed
    on a PC, and because certain methods only work with Acrobat 4, you can now
    select your "Preferred Acrobat Version" from the Document
    Viewer control's PDF-tab.
Version 1.9d : ( Released 29 August 2001 )
  -  New property called TempDirLocation. By default temporary
    files which File Explorer generates are stored in the same directory as your
    compiled exe, in which case this property is set to 0 (zero), which is the
    default. Setting this property to 1 will result in File Explorer using
    the default system temporary folder (normally "c:\windows\temp",
    depending on your system and windows installation) instead. See the
    Properties section in these docs for more info.
    This property can also be set from your Global Extension (template) properties.
    Vital if you plan on shipping a File Explorer app to run off a CD...
-  New method called Init which is called from the UseLogFile
    method. It evaluates the value of the TempDirLocation property
    (see above), and sets (internally) the path where log files will be stored.
-  Alphabetized the Properties section in these
    docs.
-  Exposed a new embed point called "Top of Procedure", which is
    a good place to initialize any File Explorer objects ( e.g. this is where
    the templates set the new TempDirLocation property ).
-  Updated the legacy example app by placing all the html1 buttons on the
    html1 procedure.
-  Added a new procedure to the abc demo app, "Advanced - PDF - Various
    Additional Controls".
-  Updated the docs for the PdfGoto method.
Version 1.9c : ( Released 22 August 2001 )
  -  "New" control template called BackgroundMediaLoadButton,
    explained in the Template Options section of
    the docs. This template drops a "Play" button on your window,
    which can be used to play sound files without having to use the "Viewer
    Control" templates. This is often preferable, especially if you
    just want to be able to play a sound file without seeing the ocx interface.
-  New method called MediaApi which implements
    various Windows API calls rather than making use of the ocx objects.
    At this stage it can be used to play and stop playing Mp3 files (in the "background").
-  New example procedure in the abc app ('Advanced - Html2 - Loading and saving
    HTML from a variable'). Compliments FAQ12.
-  Modified the way in which the Html1 Viewer Object opens documents - improved
    stability.
-  Modified the LoadHtml2 to optionally take
    a third parameter (byte). Up until now you could only pass "filenames"
    to the method, and needed to use the Update method
    if you wanted to load html directly from a variable. This modification
    now enables you to optionally use the LoadHtml2
    method to accomplish both tasks. Nothing "new" as such, just
    an alternative (1 line of code versus 2) way to do it. See the methods
    section for more info and examples.
-  New property called "Html2Browser". Setting this to true
    (1) changes the Html2 Viewer control so that the loaded html file becomes
    "read-only" / "brows-able" rather than "editable".
    This can be especially useful as it allows you to easily enable / disable
    whether the Viewer Control displays html which the user can then edit, or
    whether it displays exactly the same html file where the user can not edit
    it. Uses such as user access permissions spring to mind. Set using
    the Update and GetInfo
    methods, or "directly" before calling the load method. See
    the Properties section for more info.
Version 1.9b : ( Released 17 August 2001 )
  -  Updated STEP6 of the Storage
    File Example in these docs.
-  Improved the internal Wait method.
-  Added the Web Browser Example 1 procedure to the abc demo app, and
    updated FAQ9.
-  Improved the docs (various).
-  Added the HtmlNewWindow property to the docs, and also the new,
    unsupported HtmlDontAddToHistory property which we're still working
    on.
-  Fixed a possible problem in the HtmlBusy property.
-  New property for the Html1 object called HtmlDocumentType, see the
    Properties section for info.
-  New method called PdfGoto which enables you
    to navigate through the loaded pdf file (FirstPage, PreviousPage, NextPage,
    LastPage).
-  New method called PrintPages which allows
    you to print a document from page x to page y, and optionally shrink those
    pages to fit your current printer settings. At this time this method
    only supports the Adobe Acrobat Control. Don't confuse this method with
    the PrintMe method which supports most of the
    Viewer Controls.
-  The LoadPdf method now takes an additional
    (third) parameter, as follows: LoadPdf (string CurrentPath, long
    CurrentControl, [byte Version] ). Due to the differences between
    Acrobat 4 and Acrobat 5's ocxs, the new PrintPages
    method will only work with Acrobat 4 ( just to complicate things! ).
    If the user has both versions of Acrobat installed ( as is often the case
    ), then you can pass this third parameter to specify which version of Acrobat
    is to be used. If you only pass only the original two parameters, then
    the latest version of Adobe Acrobat found on the machine will be used by File
    Explorer. See the methods section for
    more info and examples. If you're using the Load
    method rather than the LoadPdf method, you can
    optionally set the PdfVersion property before the call to the load
    method. See the properties section for more
    info and examples. 
-  Added two more features to the Edit method,
    relating to the Html1 Viewer object. The two new options enable you
    to stop downloading (15), or to close the loaded document (16). See
    the Edit method for more info. 
-  Enhanced the Unload method. 
-  Enhanced the Kill method. 
-  New method called HtmlInitialize which
    is called for you the first time you load a file into the Html1 Viewer
    Object. This new method greatly improves the object's stability while
    loading its first file, when the ocx is at its most vulnerable. 
Version 1.9 : ( Released 1 August 2001 )
  -  New property called DisableWait. In the last release we made
    some big improvements to the stability of the Html1 object. However,
    that improved stability slows down the time it takes to load a file into the
    control. This is because we wait for the ocx to tell us that it is ready
    to load a file before we go ahead and send it the instructions. In some
    situations this is not necessary, and the ocx seems to handle whatever you
    give it. If you wish to disable the way the methods wait for the ocx
    before sending it instructions, then you can set this new property to true.
    This will speed up the responsiveness of the control, but then the FileExplorer
    methods will not wait for the ocx before sending it instructions, so the stability
    rests entirely on the ocx. For implementation see the notes in the Properties
    section, and the Template Options section.
-  Changed the way the template closes the ocx for legacy apps.
-  Changed (neatened up) the structure of the generated embed points.
-  Made a new embed point available immediately after the ocx releases its
    current file as the window closes, this is a perfect place to delete the temporary
    file as explained in the Storage File
    Example. ( Also made some additional notes to that example ).
-  Fixed a bug in the "Add File To Storage" button code.
-  Changed the Media Viewer template - it was defaulting to "Left",
    "Right" and "Bottom" positions of 10 ("Other"
    tab on control properties), now these settings default to 0.
-  Made a new method called GetHtmlGraphicsInfo ( and a new property
    to go with that method called HtmlGraphicsList ). The new method
    updates two properties ( HtmlSource and HtmlGraphicsList ) to
    contain a list of the graphic files found in an html file, and modified html
    source code. The primary purpose of writing this method is so that users
    who are using File Explorer in conjunction with 
	CapeSoft
    NetTalk can now easily send html pages as email, embedding any graphics
    contained in the html. This is explained in the methods
    section of this document, and in the NetTalk documentation.
-  New method called Html2KeyPressed. This method must be called
    from within the event callback function, as shown in FAQ 14. The Html2
    (editing) ocx returns an event whenever a key is pressed on the keyboard,
    but does not indicate which key was pressed. This new method allows
    you to determine just that. See the notes under the methods
    section for more info. ( Updated FAQ 14 as well ).
-  Redid the example apps that ship with File Explorer. The abc app
    now has a menu called "Advanced" which will be used to demonstrate
    more "advanced" functionality.
-  Moved a lot of the code that the templates were generating into new procedure
    routines. Have made several new embed points into these new routines.
    Hand-coders will need to adjust their code accordingly... Have also
    opened up the objects and added embed points for their respective method calls.
    This is quite a jump in structure so you may need to move your own code around
    a bit, but the advantages of the shift in logic should make up for it.
-  Have added a new property to the Viewer Controls' "General" tab,
    called "Path Variable". This allows you to change the path
    variable for viewer controls should you need to, or should you decide to delete
    the entry control placed by the template. See the Template
    Options section for more info.
-  Expanded the section titled Options for the
    File Explorer Templates in this document, to include several updates.
-  Added a new section to these docs called
	Things to Avoid. Very important to read this with each new release.
  
Version 1.8f : Released 24 July 2001
  -  Updated the Storage File Example
    to also show how to delete the temporary file which it creates. 
-  Fixed a bug in the last version, where the Html1 object was not loading
    pages off the internet. 
Version 1.8e : Released 24 July 2001
  -  Updated some of the FAQ's.
-  New method called Unload, which is automatically called by each
    load method before a new file is loaded into any of the controls.
    Improves overall stability, especially for the Html1 viewer.
-  Added internal functionality to the class which increases the stability
    of the Html1 ocx.
-  Worked on the code which handles closing down the ocx as the window is
    closed, which will make this process much more stable and reliable.
-  Added a new feature to the class, whereby it generates a log file called
    "fe_log.txt". This logs activity from within the class, and
    will serve as a tool whereby users who are experiencing system locks or hangs
    using the Html1 ocx, can now send me this log file for analysis. This
    will enable us to determine whether it was the ocx, the class, or your app
    which most likely caused the problem, and will make debugging far easier.
    See the section "Generating a log file"
    for more info.
-  New method called "Kill", which closes down the ocx control
    much more reliably. The template implements this for you by calling
    this method as you close the window containing the control. Read more
    in the "methods" section.
-  Tweaked the way html files are loaded off disk (internal tweak, nothing
    for you to do).
Version 1.8d : Released 17 July 2001
  -  I've documented an example of how to store multiple files (avi, mov, mp3
    etc) in a single Topspeed file, using blob fields. The example steps
    you through how to build this functionality into your app in easy steps, using
    a new method and control which were built specifically for this. Create
    a file in your dictionary to store these external files, drop a file browsing
    list box onto a window, along with the File Explorer Media Viewer control,
    add the new 'AddFileToStorage' control, embed 3 lines of code, and
    it's done. You'll be able to press a button to select external media
    files (any format) to "import" into your Topspeed "Storage
    File"; and simply select the file you want to play from the list box
    to play it in the adjacent File Explorer control. Read the example titled
    "The Storage File Example".
-  Fixed a bug in the Update method, when updating the MedAutoStart,
    MedAutoRewind, and MedAutoResize properties.
-  New property for the MediaViewer control, called MedRightClick.
    This allows you to turn on / off the menu that appears when a user right-clicks
    on the control. By default this is enabled. See the Properties
    section for more info.
-  Fixed a bug in the template, where the settings made on the "UI"
    tab of the MediaViewer control were not being implemented.
-  Added all possible Zoom sizes to the template properties for the
    MediaViewer control. Now you can set playback size to Full
    Screen, Fit, 1/16th Screen Size, 1/4 Screen Size,
    and 1/2 Screen Size in addition to 50%, 100% and 200%.
    See the section Options for the File Explorer Templates
    for more info.
Version 1.8c : Released 10 July 2001
  -  We were loading files into the Html1 object's ocx using the 'Navigate'
    method (internal ocx method). We now use the 'Navigate2' method,
    as the Navigate method has a memory leak. Microsoft claim that
    the Navigate2 method does not have such a leak, although I'm not convinced.
    We are working on this. Anyway, there's a new property called NavigateMethod
    which determines which of these two ocx methods the object uses. By
    default it's set to 2 (calling Navigate2), so you don't need to worry
    about this or do anything yourself. If you want to use the Navigate
    method (ocx method) instead of the Navigate2 method, you can set this
    File Explorer property ('ThisViewer.NavigateMethod') to 1 before calling
    our Load method. No reason why you would want to do this though.
-  Added a new flag on the Html1 Viewer's properties tab (template).
    On the "Advanced Options" tab, if you select "Generate
    Event Handler Embed Points", you will see a new "Flag Variable"
    called "Stabilize". This monitors the events being
    sent from the ocx to your app, and if a pattern is established which your
    app (well, File Explorer) recognizes as potentially meaning that the ocx is
    being "flooded" by your app, then your app will "wait"
    3 seconds while the ocx has time to recover and "get back on its feet".
    There's a whole new section in these docs which explains to you how / why
    this works, called "Stabilizing the
    Html1 ocx".
-  Added 6 new properties for the Html2 object. These properties allow
    you to read and set properties pertaining to a selected image in the loaded
    html page, such as the source of the image ("filename"), the Alternate
    Text for the image, the border around the image etc. See the section
    on "Properties" for more information.
    (The properties are Html2PicSource, Html2PicText, Html2PicHSpacing, Html2PicVSpacing,
    Html2PicAlign and Html2PicBorder).
-  Fixed a bug - if you set template settings for the Pdf viewer, those settings
    were not being applied if you opened an "initial document", instead
    the default settings were used.
-  Fixed a bug - the Load method supported "incomplete" filenames
    for the Pdf Viewer, in the sense that filenames which did not begin with a
    drive letter ("c:\") were then assumed to be in the local directory,
    and the filename was actually modified (internally) to work accordingly.
    The LoadPdf method however, did not support this. Now it does.
-  Expanded the MedZoom property. It used to allow you to view
    video files at 50%, 100%, or 200% of the default file size - now you can view
    movies at Full Screen, Fit to Size, 1/16th of the Screen, 1/4 of the Screen,
    or 1/2 of the Screen sizes as well. See the notes on this property under
    the "Properties" section of this document.
Version 1.8b : Released 19 June 2001
  -  Added a new method called "AutoSize". At this stage
    it only works with the MediaViewer object (as the other objects don't resize
    the ocx control when they load files, so they don't need this method).
    It takes properties which allow you to stipulate the space on the left, the
    space on the right, and the space below the control. When you call the
    method it then resizes the control (ocx) to fit on your window, leaving those
    spaces to it's left, right and below (top border is not affected when you
    load files). The method should be called after calling the Load
    method, so that any resizing that occurs internally during the loading of
    the file, can be rectified by calling this method immediately afterwards.
    Refer to the section on Methods and the FAQs
    for more info.
-  Up until now you could not pass filenames which contained parenthesis to
    the Media object, such as "(Counting_Crows)-Mr_Jones". Now
    you can.
-  New property called 'HtmlSource'. This returns the "html
    source" of the loaded html page, using the Html Browsing object.
    The Html2 object has had the 'Html2Source' property for some time,
    so this property for the Html1 object has been long awaited. You can
    now analyze the html "text" of the currently loaded page without
    having to save the page to file or load it in the Html2 object, as many users
    have been doing up until now! We've also built in support for a new
    property called 'HtmlOuterText', which works the same way as the 'Html2OuterText'
    has worked for the Html Editing object. This property holds the "text"
    (as opposed to the html "code") for a page which you browse.
    See the notes under the Properties section for more
    info on these two properties.
-  Added a new property called LoadCalled, which is set to true every
    time a new file is loaded into any of the objects. See the Properties
    section for info.
-  New method called HtmlStatusText. Called from within the Callback
    Function's embed point, and returns a string containing the Html1 Object's
    current status. Needed to build this so that we could...
-  ...Build a Status Bar. Explained in the FAQs
    how to build a "Status Bar" for the Html Browsing object.
-  The MedMoreInfo property is now obsolete.
-  Added several new properties for the Media Object:
    
      -  MedInfo_FileName
-  MedInfo_Title
-  MedInfo_Author
-  MedInfo_Copyright
-  MedInfo_Rating
-  MedInfo_Description
 See the Properties section for more info.
-  Added a new property called 'MedAutoResize'. This can be set
    from the Template Options, or using the Update
    method; and can be "read" using the GetInfo
    method. If you set this property to true, then the Media Viewer control
    will automatically resize itself each time a new file is loaded (default
	behaviour
    for the ocx). Setting this property to false stops this.
    The default from this version of File Explorer is to set this property to
    false, so that the control maintains its original size.
Version 1.8 : Released 14 June 2001
  -  Added several new properties to the 'media' object, which can all
    be "read" using the 'GetInfo' method, and updated using the
    'Update' method. Read the sections 'Properties'
    and 'Methods' for more info.
    
      -  MedCurrentPosition - Returns your current position (in a 15 second
        clip this starts at 0.0 and increases to 15.0)
-  MedStartPosition - The position within the clip at which playing will
        begin. For instance you can set a file to start playing 5 seconds
        into the sequence, skipping the initial 5 seconds.
-  MedEndPosition - The position within the clip at which playing will
        stop. This is typically at the end of the clip, but you could set
        it to any value before that position.
-  MedShowPositionControls - Hide / unhide the 'Skip Back', 'Rewind',
        'Fast Forward', 'Skip Forward', and 'Preview each clip in Playlist' buttons.
-  MedShowInfoWindow - Hide / unhide a window at the very bottom of the
        control displaying info such as 'Clip', 'Author' and 'Copyright'
-  MedEnableToolbar - Enable / disable all controls beneath the "picture"
-  MedShowSlidebar - Hide / unhide the "Can Seek" bar ( the
        slide bar below the "picture")
-  MedEnableSlideBar - Enable / disable the "Can Seek" bar
-  MedShowGotoBar - Hide / unhide a drop list at the very bottom of the
        control, displaying "goto items"
 
-  The following properties did exist for the 'media' object, but could only
    be "read", not "set". Now you can update them using
    the 'Update' method. See the sections 'Properties'
    and 'Methods' for more info.
    
      -  MedRepeatTimes - The number of times a clip plays before stopping
-  MedZoom - Set the zoom on a media file to 50%, 100%, or 200%
-  MedAllowZoomChange - Sets whether or not the user can change the zoom
        settings at play time
-  MedVolume - Set the volume
-  MedMute - Turn "Mute" on or off
-  MedShowToolbar - Hide / unhide all controls beneath the "picture"
 
-  The 'Properties' and 'Methods'
    sections have been redone in this document for the Media object.
-  Several of the media object's properties which could only be set before
    a file was loaded, can now be set and read dynamically using the 'Update'
    and the 'GetInfo' methods. See those sections in the docs (under
    the 'methods') section for a complete listing of all the supported properties.
-  Made the following settings available from the Media Viewer's template
    options, see the Templates section for details:
    
      -  Allow Zoom Change
-  Mute
-  Number of Repeat Times
-  Zoom
-  Starting Position
-  Enable Toolbar
-  Show Slide Bar
-  Enable Slide Bar
-  Show Position Controls
-  Show "More Information" window
-  Show "Goto Bar"
 
-  Added a new method called "ShowAboutBox", which displays
    the ocx's "About Box", if one is supported.
-  The Media Viewer object now supports an additional file type, namely
    "Windows Media Audio/Video" (extension *.WMV). Added to the
    template options.
-  The "Include" properties are now obsolete. These are properties
    such as IncldePDF, IncludeHtml, IncludeWAV... See the Properties
    section. Since the introduction of the ObjectType property in
    version 1.5, these properties have not been used. This does not affect
    anyone, but is mentioned here for sake of completeness.
-  Fixed a bug on the lookup button for the html browsing object - if you
    cancelled the lookup and did not select a file the path was not being restored.
-  Added some new FAQ's
-  FLASH SUPPORT - If your system has Flash loaded, then you'll be
    able to view Flash files (*.swf) using the Document Viewer control.
    It's a bit of a trick as we use the html1 ocx to call Flash's ocx which is
    built to support Microsoft IE, so it all works very nicely. See
	 FAQ 20 for implementation. In order to implement this you'll need
    to determine whether your users have Flash loaded. To assist we've modified
    the 'OcxVersion' method, which now tells you whether the user has the
    Flash ocx installed. See FAQ 20.
-  Fixed a bug in the Event Callback function code.
Version 1.7 : Released 24 May 2001
  -  Fixed some syntax errors in the docs re the various "load" methods.
-  Streamlined the Update method.
-  Changed the 'LoadHtml1', 'LoadHtml2', 'LoadMedia' and 'LoadPDF' methods,
    so that if you pass them no CurrentPath, then the ocx will be loaded,
    but no file will be loaded into it. See the FAQ section as well.
-  Added FAQ 18, explaining how to intercept a hyperlink click. This
    allows you to trap when a user clicks on any hyperlink, establish where that
    hyperlink points to, and conditionally load a different page, or call a procedure.
    This can be very, very useful. (See the FAQ section for examples of
    where this could be used). We do this using a new method, called 'HtmlHyperlinkURL',
    see the section called Methods for more info.
Version 1.6 : Released 17 May 2001
  -  Fixed a bug in the Var2File method, where files under 4K were not being
    generated cleanly.
-  Explained the difference between Html2InnerText and Html2OuterText in the
    FAQs.
-  New property for the Html2 object called 'Html2DocInnerText', which
    holds the entire "text portion" of the html document. See
    the notes under Properties for more info.
-  New method called 'OcxVersion'. At this stage it only supports
    the PDF object. It simply returns a string indicating the currently
    loaded ocx version. You don't need to have loaded a File Explorer object
    to use this method, so you could call it before opening a window, to decide
    whether to enable your OCX code or not! See the section under Methods
    for more information.
-  With the release of Adobe Acrobat 5, Adobe have stopped supporting the
    ocx for external apps - unless you own the full version of Acrobat, or unless
    you're developing for IE. To get around this, when you open a PDF document
    File Explorer now determines which version of the ocx is installed on the
    machine (version 4 or version 5), and either loads the Acrobat ocx (if you're
    running version 4), or loads the Acrobat ocx through the IE ocx if you're
    running version 5! The only known bug so far is that our print button
    template does not seem to work if you're using version 5 - but the ocx loads
    with the new default toolbar, which has its own print button. According
    to our tests so far, if you're running Acrobat 4 and Acrobat 5 on the same
    machine, then Acrobat 5 is the 'default', and the Acrobat 4 ocx is replaced.
-  Explain in the FAQs how to trap for when every page you browse using the
    html browsing object completes loading.
Version 1.5: Released 5 April 2001
  -  An existing, previously undocumented property called "ObjectType"
    has been implemented throughout the File Explorer class, and is responsible
    for several important changes. The property holds the currently loaded
    document's object type, being one of "html1", "html2",
    "pdf" or "media". This property is set for you in
    the Load methods. The result of this property, is that methods
    that used to take a parameter indicating an object type, no longer need that
    parameter! The methods affected are:
  -  The Edit method
-  The PrintMe method
-  The GetInfo method
-  Refer to the Methods section of this document to
    see the new parameters which these methods now take. If you have existing
    code which calls these methods using the old parameters, your code will still
    work. Any "object type" parameter which you pass will simply
    be ignored.
-  The LoadShell method has been "replaced" by the LoadHtml1
    method, and the LoadHtmlEdit method has been "replaced" by
    the LoadHtml2 method. In essence the methods have not changed,
    just their method names. If you have code which calls the "old"
    methods, the code will still work (the "old" methods simply call
    the "new" methods automatically). 
-  New method called Update (String Property, String PropValue),
    which lets you set various properties which you could previously only read
    (using the GetInfo method). Refer the notes on this new method
    in the Methods section earlier in this document for
    a listing of which properties can be set. 
-  Explained in the FAQ section how to load
    and save a document from a variable, rather than from a file! (Applies
    to the Html Editing object). 
-  Two new methods called InsertText (Byte Location, String TextToInsert),
    and InsertHtml (Byte Location, String TextToInsert), allowing
    you to insert text or html (source) into an html page ,at one of 5 points
    - relative to the position of the cursor. At this time these methods
    only apply to the html2 (editing) object. 
-  Explained in the FAQ section how to trap
    for the user pressing the "Tab" key, and then to insert 8 spaces
    into the current 'html2' object at the current cursor location.
Version 1.4b: Released 20 March 2001
  -  Explain in the FAQ's how to copy the "text" displayed in the
    html browsing object to a variable, using the clipboard. 
-  Added 7 new properties for the Html Editing control, called "Html2InnerText",
    "Html2InnerHtml", "Html2OuterText", "Html2OuterHtml",
    "Html2TagName", "Html2ObjString" and "Html2ObjType".
    These are all "updated" using the GetInfo method. Refer
    the "Properties" section of this
    doc for more info. 
-  Added two new "Edit Types" for the Edit method, pertaining
    to the html editing object. 
  -  ThisViewer.Edit ('html2', 30) - Edit Image Properties (calls "settings" window) 
-  ThisViewer.Edit ('html2', 31) - Edit Hyperlink Properties (calls "settings" window) 
  -  Added an example in the FAQ section explaining how to implement the functionality
    that allows a user to right click on an object in an html page (e.g. a hyperlink
    or an image), and be presented with a properties window where he can change
    the object's properties. Please note: This is still very rough, and
    is only included at this point to give an idea as to how this can be used
    at this point in time. This feature is still being developed and neatened
    up, and will be substantially cleaner in the next release. 
Version 1.4: Released 23 February 2001
  -  Updated the docs to explain how to implement a "Save As" button
    for the Html Editing object, and how to make the Path field on the Html Viewing
    object dynamic when using the object to browse the internet (refer the FAQ
    section). 
-  The Html2Source property had a size limitation of 9998 characters, this
    has now been extended to 100,000 characters. 
-  Up until now the 'Html1' and 'Html2' objects have only supported loading
    documents from file (whether off disk or the web). If you wanted to
    load a document contained in a variable, the trick was to first create a temporary
    file, then write the contents of your variable to the file, and finally, load
    the file into your object! A new method called 'VarToFile' has been
    introduced, which saves you from having to do the above yourself. This
    method takes two parameters, one being the variable containing the html code,
    the other being the name of the file to be created (which will become the
    temporary file containing the html code, which can then be sent to an ocx
    to be viewed). This basically does the trick part for you. All
    you need to do is use this method to write your variable to a temporary file,
    then open that file with the object. Refer to the notes on this method
    in the Methods section of this document for more info and example code.
  
Version 1.3: Released 9 February 2001
  -  New property called 'Html2Source' which holds the html source component
    of the loaded document. Updated using the 'GetInfo' method. 
-  The 'Edit' method has until now only supported the 'html2' object.
    It now supports 'html1' objects, enabling features such as 'Save As', 'Print
    Preview', 'Page Setup', 'Cut', 'Copy', 'Undo', 'Select All', 'Find' and 'Delete'.
    This functionality has been added to the 'HtmlViewButtons' template, in the
    form of several new buttons which the template populates. Please note
    if you're going to use these features we recommend you upgrade to IE 5.5.
    See FAQ section for URL to download the upgrade. 
-  The 'PrintMe' method was only supporting 'html2' objects. It now
    supports 'html1' and 'pdf' as well. 
-  The 'LoadHtmlEdit' method was only loading documents off disk. It
    now determines whether the document is on your disk, or on the web, and loads
    accordingly. All done internally. 
-  Bug fixed which was causing legacy apps to hang when opening windows where
    the 'Initial Document' option was being used. 
Version 1.2: Released 1 February 2001
  -  File pathnames can now be up to 500 characters. 
-  The template now stops objects from automatically resizing when a new file
    is loaded, by using two new methods called 'SaveSize' and 'SetSize'.
    'SaveSize' updates two new properties, called 'ControlWidth' and 'ControlHeight',
    with the object's current width and height, and 'SetSize' restores the object
    to that state. Refer to the sections on 'Properties'
    and 'Methods' for more information on implementation.
  
Version 1.1: Released 22 January 2001
  -  Bug fixed re ensuring that the DOS driver is included in your app's project.
  
-  New properties created for the media object: MedRepeatTimes, MedAllowZoomChange,
    MedZoom, MedVolume, MedMute and MedSoundCard. Refer to the notes in
    this document's 'Properties' section for more info.
  
-  New option which can be set in the Media Viewer's properties ('Other' tab),
    where the Zoom percentage can be set for a media file. 
-  Two new methods created for stopping and for pausing a media file.
    Called from the 'stop' and 'pause' buttons (part of the File Explorer MediaButtons
    template). Methods are called 'StopMedia' and 'PauseMedia' (no parameters).
  
-  New methods created called 'HtmlStop', 'HtmlRefresh', 'HtmlBack' and 'HtmlForward'.
    Called by the File Explorer HtmlViewer Buttons template. 
-  Bug fixed in File Viewer control for instances where both the 'html1' and
    'html2' file types are selected as supported file types. 
Version 1.0 Gold: Released 15 January 2001
  -  New option on Viewer and Media Player templates (Advanced Tab) called 'Last
    Event'. This is only available if you first activate the 'Event Handler
    Embed Points' option. This option created a global variable called FeLastEvent
    (long), which is updated with the event number of every event that is generated
    by the objects. A list of some common events and the event number they
    return is provided in this document, in the section titled 'Object
    Events'. 
-  Fixed a bug in the code that 'Opens Initial Document' for the html viewer
    object. 
-  PrintMe method now takes two parameters, PrintMe
	(String ObjectType, Byte ShowDialog). This is to provide for the method
    being generic to all objects (although at this stage only the html editing
    object is supported), and to control whether or not the 'Print Options Dialog'
    screen is called. Refer to the notes in the 'Methods'
    section for more info. 
-  The Edit method now takes an additional parameter, and looks like
    this: Edit (string ObjectType, long EditType).
	Again this is to allow for the method to be generic to all objects, although at this
    stage it only applies to the Html Editing object. Refer to the notes
    in the 'Methods' section for more info. 
Version 1.0 beta 2b: Released 8 January 2001
  -  New method added called 'GetInfo'. Calling this method updates certain
    properties associated with the loaded file, which can then be referenced in
    your code. This gives you access to the URL of the currently loaded
    web page; the path of a loaded file; the status of your web browser object,
    to determine whether a page is currently loading; the title of html pages
    and so forth. Refer to the notes in the 'Methods' and 'Properties' sections
    of this document for more information. 
-  The file lookup buttons now restore your path after selecting a file (as
    before), but now return to the folder you selected the last file from when
    you select another file. This is done by using two new variables called
    Fe_LastPath, and Fe_AppPath. 
Version 1.0 beta 2: Released 20 December 2000
  -  New feature added supporting yet another file type through the Document
    Viewer control. In previous versions html documents could be viewed
    (read only) through the Shell ocx (LoadShell). With this release we've
    included support for another ocx, enabling html editing! The 'html'
    file type has now been slip into two, namely html1 (read-only) and html2 (editing).
    Html1 is the file type carried over from the last release (using the LoadShell
    method), and should be used to view html, supporting 'web browsing', but not
    editing. Html2 is a new file type, and calls a new method (LoadHtmlEdit),
    which makes use of an ocx shipped with Internet Explorer 5 and later.
    A new property called Html2Active has also been introduced. Comments
    on the new method and properties associated with it can be found in the appropriate
    sections of this document. To avoid confusion, html1 should be used
    to view and browse document, supporting clicking on hyperlinks, animation
    etc., whereas html2 should be used only if you need to edit an html document,
    as each page is loaded as 'static'. Create two objects on the same window
    if you need both ocx's functionality. 
-  New methods added called 'Edit', 'Save', and 'PrintMe'. At this stage
    applying only to the html editing control (html2), allowing the user to edit
    (bold, indent, insert graphic etc) a document; to save the html component
    of the loaded document to a variable or file; and to print the loaded document.
    All this functionality can be included into your application by populating
    File Explorer's 'Html Editing Buttons' into a window, or by hand code.
    Refer notes above for implementation. 
-  Ability to enter a variable name in the 'Initial Document' field for both
    the File Viewer and Media Viewer controls. See notes in the template
    options section above for implementation. 
Version 1.0 beta 1b: Released 06 December 2000
  -  Feature added to allow the programmer to create variables, which are automatically
    set to equal 0 when a media file starts playing, and 1 when it finishes.
    Useful for ascertaining when the user finishes playing a file. 
-  New method created, called "PlayMedia". (Refer notes above)
  
-  Feature added to allow programmer to set the playback speed / rate at which
    media files play. Done by entering a percentage (100% = normal speed)
    in the controls "Other Options" tab. 
-  New property created called "MedPlayRate", used in setting the
    Media Controls Playback Rate (mentioned above). Is set by the template
    from the "Other Options" tab (mentioned above), but can also be
    set manually (manual setting overrides template setting if present).
    This allows you to code the ability to set playback speed at runtime. 
Version 1.0 beta 1a: Released 9 November 2000
  -  File Lookups restore application path after lookup is complete. 
Version 1.0 beta 1: Released 8 November 2000