LazStats: Move chmhelp conponents from DataModule to MainForm.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7619 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-08-18 19:38:54 +00:00
parent ca06693f08
commit e4c6c0c1c2
3 changed files with 27 additions and 31 deletions

View File

@ -1,5 +1,4 @@
object MainDataModule: TMainDataModule
OnCreate = DataModuleCreate
OldCreateOrder = False
Height = 143
HorizontalOffset = 817

View File

@ -5,7 +5,7 @@ unit MainDM;
interface
uses
Classes, SysUtils, LResources, Controls, LazHelpCHM;
Classes, SysUtils, LResources, Controls;
type
@ -13,12 +13,9 @@ type
TMainDataModule = class(TDataModule)
ImageList: TImageList;
procedure DataModuleCreate(Sender: TObject);
private
public
CHMHelpDatabase: TCHMHelpDatabase;
LHelpConnector: TLHelpConnector;
end;
@ -27,18 +24,6 @@ var
implementation
{ TMainDataModule }
procedure TMainDataModule.DataModuleCreate(Sender: TObject);
begin
CHMHelpDatabase := TCHMHelpDatabase.Create(self);
CHMHelpDatabase.KeywordPrefix := 'html';
CHMHelpDatabase.AutoRegister := true;
LHelpConnector := TLHelpConnector.Create(self);
LHelpConnector.AutoRegister := true;
end;
initialization
{$I maindm.lrs}

View File

@ -23,6 +23,13 @@ interface
uses
LCLType, Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, Menus, ExtCtrls, StdCtrls, Grids,
{$IFDEF USE_EXTERNAL_HELP_VIEWER}
{$IFDEF MSWINDOWS}
HtmlHelp,
{$ENDIF}
{$ELSE}
LazHelpIntf, LazHelpCHM,
{$ENDIF}
Globals, DataProcs, DictionaryUnit, MainDM;
type
@ -439,7 +446,10 @@ type
{ private declarations }
{$IFDEF USE_EXTERNAL_HELP_VIEWER}
function HelpHandler(Command: Word; Data: PtrInt; var CallHelp: Boolean): Boolean;
{$ENDIF}
{$ELSE}
CHMHelpDatabase: TCHMHelpDatabase;
LHelpConnector: TLHelpConnector;
{$ENDIF}
procedure Init;
public
{ public declarations }
@ -453,15 +463,7 @@ var
implementation
uses
{$IFDEF USE_EXTERNAL_HELP_VIEWER}
{$IFDEF MSWINDOWS}
HtmlHelp,
{$ENDIF}
{$ELSE}
LazHelpIntf,
{$ENDIF}
Utils,
OptionsUnit, OutputUnit, LicenseUnit, TransFrmUnit, DescriptiveUnit,
Utils, OptionsUnit, OutputUnit, LicenseUnit, TransFrmUnit, DescriptiveUnit,
FreqUnit, CrossTabUnit, BreakDownUnit, BoxPlotUnit, NormalityUnit, Rot3DUnit,
PlotXYUnit, BubblePlotUnit, StemLeafUnit, MultXvsYUnit, OneSampUnit,
TwoCorrsUnit, TwoPropUnit, TtestUnit, BlkAnovaUnit, WithinANOVAUnit,
@ -487,6 +489,9 @@ uses
MedianPolishUnit, OneCaseAnovaUnit, SmoothDataUnit, SRHTestUnit, AboutUnit,
ItemBankingUnit, ANOVATESTSUnit, SimpleChiSqrUnit, LifeTableUnit, LSMRunit;
const
HELP_KEYWORD_PREFIX = 'html';
{ TOS3MainFrm }
// Menu "Options" > "Exit"
@ -1318,8 +1323,15 @@ begin
lhelpfn := Application.Location + 'lhelp' + GetExeExt;
if FileExists(lhelpfn) then
begin
Maindatamodule.LHelpConnector.LHelpPath := lhelpfn;
MainDatamodule.CHMHelpDatabase.Filename := helpfn;
CHMHelpDatabase := TCHMHelpDatabase.Create(self);
CHMHelpDatabase.KeywordPrefix := HELP_KEYWORD_PREFIX;
CHMHelpDatabase.AutoRegister := true;
CHMHelpDatabase.Filename := helpfn;
LHelpConnector := TLHelpConnector.Create(self);
LHelpConnector.AutoRegister := true;
LHelpConnector.LHelpPath := lhelpfn;
//CreateLCLHelpSystem;
end else
MessageDlg('Help viewer LHelp.exe not found.' + LineEnding +
@ -1634,8 +1646,8 @@ begin
begin
s := PChar(Data); // Data is pointer to HelpKeyword here, but
// the Windows help viewer does not want the KeywordPrefix required for LHelp.
if pos(MainDataModule.CHMHelpDatabase.KeywordPrefix + '/', s) = 1 then
Delete(s, 1, Length(MainDatamodule.CHMHelpDatabase.KeywordPrefix)+1);
if pos(HELP_KEYWORD_PREFIX + '/', s) = 1 then
Delete(s, 1, Length(HELP_KEYWORD_PREFIX) + 1);
ws := UnicodeString(Application.HelpFile + '::/' + s);
res := htmlhelp.HtmlHelpW(0, PWideChar(ws), HH_DISPLAY_TOPIC, 0);
end;