WebHub Release Notes for v2.038
This file was last updated 30-Aug-2004 03:45 California time.
to: WebHub Object Pascal Components
WebHub Object Pascal Components
- DreamWeaver integration v2.038
- In dmWebHub.pas, "OnSessionInURL" changed to "OnNewSessionInURL".
- See sample event handlers for the 3 security events in lib\whDemoInitialize.pas
(OnDesignPage, OnNewSessionInURL, OnFrontDoorTriggered). If you include lib\dmDream.pas in your project,
you should copy and customize these events for security reasons.
- Changes to TWebDataScan, TWebDataSource, TWebDataGrid, etc. v2.038
- Due to the changes described in detail below, you should open each form and data module in your projects once (after installing v2.038), and correct
any errors in the parameter lists to the events. Such errors will otherwise appear at runtime, not compile time.
- TWebDataSourceBase class added v2.038
- TWebDataSource is now explicitly TDataSet dependent and derives from a new class, TWebDataSourceBase, which sets up virtual abstract methods
using TComponent and is not dependent on the db and dbtables units.
- The new TWebDataSourceIB class is for use with Interbase Objects TIB_DataSet.
It provides highly optimized access to Interbase and Firebird. TWebDataSourceIB descends from TWebDataSourceBase.
- The previously existing TWebDataSourceIBO class (for use with Interbase Objects TIBODataSet) requires the Borland TDataSet and
descends from TWebDataSource.
- The types of some parameters passed to some events have therefore changed. You are likely to get errors
when you first open a form or datamodule containing components which use TWebDataSource. The best approach is to say NO
when Delphi asks whether you want to delete the incorrect declaration, then edit the declaration.
For example, on TWebDataScan, the "Sender" parameter changed from TWebDataScan to TWebDataScanBase and "aWebdataSource" parameter
changed from TWebDataSource to TWebDataSourceBase.
procedure TfmDBPanel.BrowseScanRowStart(Sender: TWebDataScanBase; aWebDataSource: TWebDataSourceBase; var ok: Boolean);
- Changed events: OnRowStart, OnRowEnd, OnSendButtons, OnFindKeys, BeforeActivate, AdjustSetting.
- Change Sender: TWebDataScan to Sender: TWebDataScanBase
- Change aWebDataSource: TWebDataSource to aWebDataSource: TWebDataSourceBase
- When using TWebDataSourceIB, connect to a TIB_DataSource and TIB_Query because only TIB_Query implements
the "bookmark" feature, which is required. Do not use a TIB_Cursor.
- TWebDataScan changed v2.038
- The TWebDataScan class now uses class TWebDataSourceBase for its WebDataSource property. This means TWebDataScan may be used with
TIB_DataSet, TIBODataSet and TDataSet.
- To access the DataSet, first cast the WebDataSource property to the appropriate type, and then use the DataSet.
- If you get a compiler error "Undeclared identifier: FieldByName" on DataSet, or similar, what you
need to do is type cast the WebDataSource with code like this:
if WebDataSource is TWebDataSource then with TWebDataSource(WebDataSource).DataSet do....
- TWebDataGrid changed v2.038
- The type of the "sender" parameter passed events has changed from TWebDataScan to TWebDataGrid.
- Changed events: OnHotField, OnCheckBox, OnInputBox, OnRegField, OnHotLabel, OnRadioBtn
- If you have made your own classes derived from TWebDataScan... you must make adjustments, or your "WebDataSource" will be of class TWebDataSourceBase
and will not have a DataSet property.
- Change your class to derive from TWebDataScanBase, e.g. TWebDataGrid = class(TWebDataScanBase)
- Add these 2 protected methods:
function GetWebDataSource: TWebDataSource;
procedure SetWebDataSource(Value: TWebDataSource);
- Add this property:
property WebDataSource: TWebDataSource read GetWebDataSource
- Implement the methods like this:
procedure TWebDataGrid.SetWebDataSource(Value: TWebDataSource);
fWebDataSource := Value;
function TWebDataGrid.GetWebDataSource: TWebDataSource;
if fWebDataSource is TWebDataSource then
Result := TWebDataSource(fWebDataSource)
Result := nil;
- TWebRubiconSearch updated v2.038
- The webrubi.pas unit has been updated to include a feature to control whether the
matching records are traversed in ascending or descending order. Thanks to Peter Hyde for
- Note TWebRubiconSearch supports Rubicon 2.x including release 2.21 which is the latest available from
- RejectSession no longer deletes VAR file v2.038
- Up until now, if usera came in with a particular session number and used a cookie, then userb came in with the
same session number and cookie, userb would be bounced (good) but as a side effect, the VAR file would be deleted.
This left usera in the bad position of losing session data and having a useless cookie, until closing the web browser.
As of v2.038, RejectSession (called by OnNewSession in dmWebHub.pas) sets SessionEndsWith to seIgnore instead of seDelete, so that the VAR file is untouched by userb.
- Thanks to Michael Strong at Enterprice Pacific for pointing out the details of this scenario.
- mcSiteRoot v2.038
- All demos use mcSiteRoot which sets the root path depending on whether the files are being edited within Dreamweaver, or not.
The Hub, WebHub Admin, WebHub View
- No changes
- none planned until WebHub interprocess comms ("IPC") have been completely rewritten.
- WebHub.hlp file updated v2.038
- download from www.href.com/pub/docsnhelp/
Copyright © 2004 HREF Tools Corp. All Rights Reserved. TPACK and STREAMCATCHER are registered trademarks of HREF Tools Corp.