anchor.diff:      FMainForm: TfpgWindowBase;
       FTerminated: boolean;
       FCritSect: TCriticalSection;
  +    FHelpType: THelpType;
  +    FHelpContext: THelpContext;
  +    FHelpWord: TfpgString;
  +    FHelpKey: word;
  +    FHelpFile: TfpgString;
       function    GetForm(Index: Integer): TfpgWindowBase;
       function    GetFormCount: integer;
       function    GetTopModalForm: TfpgWindowBase;
  +    function    GetHelpFile: TfpgString;
     protected
       FOnIdle: TNotifyEvent;
       FIsInitialized: Boolean;
       FModalFormStack: TList;
       function    DoGetFontFaceList: TStringList; virtual; abstract;
  +    function    GetHelpViewer: TfpgString; virtual;
     public
       constructor Create(const AParams: string); virtual; reintroduce;
       destructor  Destroy; override;
  
positive.code:     procedure   Terminate;
      procedure   Lock;
      procedure   Unlock;
      property    FormCount: integer read GetFormCount;
      property    Forms[Index: Integer]: TfpgWindowBase read GetForm;
      property    IsInitialized: boolean read FIsInitialized;
      property    TopModalForm: TfpgWindowBase read GetTopModalForm;
      property    MainForm: TfpgWindowBase read FMainForm write FMainForm;
  
negative.code:     Result := TFpgWindowBase(FModalFormStack.Items[FModalFormStack.Count-1]);
  end;
  
  function TfpgApplicationBase.GetHelpFile: TfpgString;
  begin
    Result := FHelpFile;
    //if Result = '' then
    //begin
      { TODO : Should we extend this to try the <applicationname>.inf as a help file? }
    //end;
  end;
  
  function TfpgApplicationBase.GetHelpViewer: TfpgString;
  var
    ext: TfpgString;
  begin
    // Default location is in same directory as current running application
    // This location might change in the future.
    ext := ExtractFileExt(ParamStr(0));
    Result := fpgExtractFilePath(ParamStr(0)) + FPG_HELPVIEWER + ext;
  end;
  
  constructor TfpgApplicationBase.Create(const AParams: string);
  begin
    inherited Create(nil);
    FModalFormStack := TList.Create;
    FCritSect := TCriticalSection.Create;
    FHelpKey := keyF1;
    FHelpType := htContext;
  end;
  
  destructor TfpgApplicationBase.Destroy;
  