![]() |
- W-HTML Editor is now easier to use when working with multiple files. - Applications that run in the tray now display usage via changing icons. - COM support is automatic. - The introductory and troubleshooting files are now accurate for the v2 directory structure. - The runisa.dll runner supports multiline textareas in forms used for file uploading.
- WebHub v2.008 is fully compatible with Delphi 6!!! - The WebHub New Project wizard is not available for D6 yet. - We renamed the webform unit to whform.pas due to a name collision with a Borland Delphi 6 websnap unit. - The memory leak in the Hub on Win2000, associated with new session creation, has been fixed. Thanks to Mark Wladika for the excellent reporting. - The speed at which the Hub assigns session numbers to new surfers has been significantly improved. - For customers using Hubs on multiple servers in a cluster with an extremely high-traffic situation, and therefore needing to guarantee that session numbers never collide, the Hub now respects a SessionPrefix code which is set on the Hub's Sessions|Timeout panel. - If you have an unlimited capacity Hub code, it will now grant a reasonable number of connections on a machine with more CPUs than you originally requested a license for. The 2.008 formula is: 20 * [Number of cpus the license was intended for] / [CPUs in machine].
If you want this feature in an application that you are compiling with WebHub v1.770 through v2.006, uncomment the Detach line in utMainFm.pas:
procedure TutParentForm.paStartDrag(Sender:TObject;var DragObject:TDragObject); begin Detach; end;
UpdateTrayIcon(False);
This included minor changes to several units and resource files, as detailed below.
protected procedure Loaded; Override;The method was implemented like this:
procedure TfmWebHubMainForm.Loaded; begin {$IFNDEF NOTRAYICON} TrayIco:='A_MAINICON'; // Name of icon when app runs in tray. FormIco:='A_MAINICON'; // Name of icon when app runs as visible form. // Note that first icon name, alphabetically, is used by Explorer on Desktop, etc. {$ENDIF} Inherited Loaded; end;
Changed: in dmWebHub.pas, enabled the tpApplication.OnMessage event that had been commented out. Added a Sleep(0) before the call to WebCommandLine.DoIdle. The performance is improved (relative to using a TTimer) because now there is no delay whilst waiting for the Timer's interval.
procedure TdmWebHubCore.UpdateAppIDInMenu; begin if assigned(pWebApp) then with Application do begin //update the menu if assigned(mainform) then begin if assigned(mainform.Menu) then
function MatchFileName(const Filename, FilenameMask: string):Boolean; //kindly contributed by Peter Hyde, peter@spis.co.nz //match filename and extension to maskname and extentension var lpf,rpf,lpm,rpm: string; begin if not splitright(AnsiLowerCase(FilenameMask),'.',lpm,rpm) then rpm :='*'; //if they have no '.', we'll accept ANY extension splitright(AnsiLowerCase(Filename),'.',lpf,rpf); if rpf='' then rpf:='.'; // so ABC matches *.* Result := WildMatch(lpf,lpm) and WildMatch(rpf,rpm); end;
fList:=nil;
after fList.free;
.
v2.007
How to use TWHSession without a TWebApp component on the form : Before loading the session set the Tag property to the session number. When LoadFromFile is called the variable pointing to it will be invalid afterwards. To get a correct pointer to the TWhSession use FindComponent('x' + SessionNumber);. The original TWhSession dropped on the form is now gone.
This feature is provided for customers with clusters of servers where the administrator wishes to ensure that session numbers on each server are created in a separate number-space.
You can also define the Session Prefix number by setting the SessionPrefix value on the Hub's Options|Defaults panel.