程序如下:
unit untMain;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ExtCtrls, ComCtrls, AppEvnts, ImgList, ActnList,
  StdActns, ExtActns, ToolWin;type
  TfrmMain = class(TForm)
    ActionList1: TActionList;
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    ImageList1: TImageList;
    ApplicationEvents1: TApplicationEvents;
    StatusBar1: TStatusBar;
    File1: TMenuItem;
    Edit1: TMenuItem;
    Search1: TMenuItem;
    Window1: TMenuItem;
    Help1: TMenuItem;
    EditCut1: TEditCut;
    EditCopy1: TEditCopy;
    EditPaste1: TEditPaste;
    EditSelectAll1: TEditSelectAll;
    EditUndo1: TEditUndo;
    EditDelete1: TEditDelete;
    RichEditBold1: TRichEditBold;
    RichEditItalic1: TRichEditItalic;
    RichEditUnderline1: TRichEditUnderline;
    RichEditStrikeOut1: TRichEditStrikeOut;
    RichEditBullets1: TRichEditBullets;
    RichEditAlignLeft1: TRichEditAlignLeft;
    RichEditAlignRight1: TRichEditAlignRight;
    RichEditAlignCenter1: TRichEditAlignCenter;
    WindowClose1: TWindowClose;
    WindowCascade1: TWindowCascade;
    WindowTileHorizontal1: TWindowTileHorizontal;
    WindowTileVertical1: TWindowTileVertical;
    WindowMinimizeAll1: TWindowMinimizeAll;
    WindowArrange1: TWindowArrange;
    FileOpen1: TFileOpen;
    FileSaveAs1: TFileSaveAs;
    FilePrintSetup1: TFilePrintSetup;
    FileExit1: TFileExit;
    SearchFind1: TSearchFind;
    SearchFindNext1: TSearchFindNext;
    SearchReplace1: TSearchReplace;
    SearchFindFirst1: TSearchFindFirst;
    FileNew1: TAction;
    FileSave1: TAction;
    FilePrintDlg1: TAction;
    HelpAbout1: TAction;
    Open1: TMenuItem;
    SaveAs1: TMenuItem;
    PrintSetup1: TMenuItem;
    Exit1: TMenuItem;
    New1: TMenuItem;
    Save1: TMenuItem;
    Print1: TMenuItem;
    Cut1: TMenuItem;
    Copy1: TMenuItem;
    Delete1: TMenuItem;
    SelectAll1: TMenuItem;
    Undo1: TMenuItem;
    Delete2: TMenuItem;
    Bold1: TMenuItem;
    Italic1: TMenuItem;
    Underline1: TMenuItem;
    Strikeout1: TMenuItem;
    Bullets1: TMenuItem;
    AlignLeft1: TMenuItem;
    AlignRight1: TMenuItem;
    Center1: TMenuItem;
    Find1: TMenuItem;
    FindNext1: TMenuItem;
    Replace1: TMenuItem;
    FindFirst1: TMenuItem;
    Close1: TMenuItem;
    Cascade1: TMenuItem;
    ileHorizontally1: TMenuItem;
    ileVertically1: TMenuItem;
    MinimizeAll1: TMenuItem;
    Arrange1: TMenuItem;
    Help2: TMenuItem;
    About1: TMenuItem;
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    ToolBar2: TToolBar;
    ToolBar3: TToolBar;
    ToolBar4: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    ToolButton14: TToolButton;
    ToolButton15: TToolButton;
    ToolButton16: TToolButton;
    ToolButton17: TToolButton;
    ToolButton18: TToolButton;
    ToolButton19: TToolButton;
    ToolButton20: TToolButton;
    ToolButton21: TToolButton;
    ToolButton22: TToolButton;
    ToolButton23: TToolButton;
    ToolButton24: TToolButton;
    ToolButton25: TToolButton;
    ToolButton26: TToolButton;
    procedure FormCreate(Sender: TObject);
    procedure ApplicationEvents1Hint(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure UpdateStatusBar;
  end;var
  frmMain: TfrmMain;implementationuses untChild;{$R *.dfm}procedure TfrmMain.FormCreate(Sender: TObject);
begin
  FileSaveAs1.Dialog.InitialDir:=ExtractFilePath(Application.ExeName)+'Files\';
  FileOpen1.Dialog.InitialDir:=ExtractFilePath(Application.ExeName)+'Files\';
end;procedure TfrmMain.ApplicationEvents1Hint(Sender: TObject);
begin
  StatusBar1.Panels[0].Text:=GetLongHint(Application.Hint);
end;
procedure TfrmMain.UpdateStatusBar;
begin
  if ActiveMDIChild<>nil then begin
    StatusBar1.Panels[1].Text:=IntToStr((ActiveMDIChild as TfrmChild).RichEdit1.CaretPos.Y+1)+':'+IntToStr((ActiveMDIChild as TfrmChild).RichEdit1.Caretpos.X+1);
    if(ActiveMDIChild as TfrmChild).IsModified then
      StatusBar1.Panels[2].Text:='Modified.';
    else
      StatusBar1.Panels[2].Text:='Not Modified.';
   end;
  end;
end.unit untChild;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;type
  TfrmChild = class(TForm)
    RichEdit1: TRichEdit;
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
    procedure SetFileName(const Value:string);
    procedure SetIsModified(const Value:Boolean);
    procedure SetIsNamed(const Value:Boolean);
  public
    { Public declarations }
    { 属性 }
    property IsModified:Boolean read FIsModified write SetIsModified; //说明文件是否被修改
    property IsNamed:Boolean read FIsNamed write SetIsNamed; //说明文件是否被命名
    property FileName:string read FFileName write SetFileName; //读写文件名
    { 方法 }
    constructor Create(AOwner:TComponent);override;
    procedure LoadFromFile(AFileName:string);
    procedure SaveFile(AFileName:string);
  end;
var
  frmChild: TfrmChild;implementation{$R *.dfm}procedure TfrmChild.SetFileName(const Value:string);
begin
  FFileName:=Value;
  Caption:=Value;
end;
procedure TfrmChild.SetIsModified(const Value:Boolean);
begin
  FIsModified:=Value;
end;
procedure TfrmChild.SetIsNamed(const Value:Boolean);
begin
  FIsNamed:=Value;
end;
constructor TfrmChild.Create (AOwner:TComponent);override;
begin
  inherited;
  IsModified:=False;
  IsNamed:=False;
  FileName:='';
  FileName:='未命名';
end;
procedure TfrmChild.LoadFromFile(AFileName:string);
begin
  RichEdit1.Lines.loadFile(AFileName);
  IsNamed:=True;
  FileName:=AFileName;
  Caption:=AFileName;
  IsModified:=False;
end;
procedure TfrmChild.SaveFile(AFileName:string);
begin
  IsNamed:=True;
  FileName:=AFileName;
  RichEdit1.Lines.SaveToFile(AFileName);
  IsModified:=False;
  Caption:=AFileName;
end;
end.问题如下:
Build
  [Error] untChild.pas(21): Field or method identifier expected
  [Error] untChild.pas(22): Field or method identifier expected
  [Error] untChild.pas(23): Field or method identifier expected
  [Error] untChild.pas(38): Undeclared identifier: 'FFileName'
  [Error] untChild.pas(43): Undeclared identifier: 'FIsModified'
  [Error] untChild.pas(47): Undeclared identifier: 'FIsNamed'
  [Error] untChild.pas(49): Unknown directive: 'override'
  [Error] untChild.pas(59): Undeclared identifier: 'loadFile'
  [Error] untChild.pas(12): Unsatisfied forward or external declaration: 'TfrmChild.FormActivate'
  [Fatal Error] untMain.pas(134): Could not compile used unit 'untChild.pas'

解决方案 »

  1.   

    错误都在untChild单元。
    1.
    private
    { Private declarations }
      FIsModified, FIsNamed: Boolean;
      FFileName: string;

      procedure SetFileName(const value: string);
    红色的是要增加的部分。2. 把这后面的“override;”去掉:
    constructor TfrmChild.Create (AOwner:TComponent);override;3. 把loadFile改成LoadFromFile。4. 把鼠标放在“procedure FormActivate(Sender: TObject);”所在行,然后Ctrl+Shift+C,并实现FormActivate。它响应窗体的OnActivate事件。
      

  2.   

    根据你说的  改了一下  原本的错误都没有了  但是不能运行了
    出现一个对话框内容是:
    Project Project1.exe raised exception class ELisError with message ‘List index out of bounds【1】’。Process stopped。Use Step or Run to continue。
      

  3.   

    你看StatusBar1的SimplePanel是不是False,然后Panels是不是至少有3个Panel;不是的话你改过来。
      

  4.   

    把那个False改为True  但是还是一样的错
      

  5.   

    看它的Panels属性,看是否至少有3项