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