anchor.diff:  end;
   
   
  +{ TSimpleEngine }
  +
  +function TSimpleEngine.CreateElement(AClass: TPTreeElement;
  +  const AName: String; AParent: TPasElement; AVisibility: TPasMemberVisibility;
  +  const ASourceFilename: String; ASourceLinenumber: Integer): TPasElement;
  +begin
  +  Result := AClass.Create(AName, AParent);
  +  Result.Visibility := AVisibility;
  +  Result.SourceFilename := ASourceFilename;
  +  Result.SourceLinenumber := ASourceLinenumber;
  +end;
  +
  +function TSimpleEngine.FindElement(const AName: String): TPasElement;
  +begin
  +  { dummy implementation, see TFPDocEngine.FindElement for a real example }
  +  Result := nil;
  +end;
  +
   end.
  
positive.code:     lblObjects: TfpgLabel;
      grdProcedures: TfpgStringGrid;
      {@VFD_HEAD_END: ProcedureListForm}
    public
      procedure AfterCreate; override;
    end;
  
  {@VFD_NEWFORM_DECL}
  
  implementation
  
  {@VFD_NEWFORM_IMPL}
  
  procedure TProcedureListForm.AfterCreate;
  begin
  
negative.code: 
  uses
    SysUtils, Classes, fpg_base, fpg_main, fpg_form, fpg_panel, fpg_label,
    fpg_edit, fpg_combobox, fpg_grid, pparser, pastree;
  
  type
  
    TSimpleEngine = class(TPasTreeContainer)
    public
      function CreateElement(AClass: TPTreeElement; const AName: String;
        AParent: TPasElement; AVisibility: TPasMemberVisibility;
        const ASourceFilename: String; ASourceLinenumber: Integer): TPasElement; override;
      function FindElement(const AName: String): TPasElement; override;
    end;
  
  
    TProcedureListForm = class(TfpgForm)
    private
  