具体代码
声明的结构不一样是出此提示
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, ComCtrls;type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
    procedure s(I: Integer);
//            ~~下面没有声明
    procedure s1(I: Integer);
  end;var
  Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.s1(I: Integer);
beginend;end.

解决方案 »

  1.   

    函数或过程定义位置不对,在private,public中调整应该可以,我以前碰到过这种问题
      

  2.   

    //测试通过
    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm2 = class(TForm)
        procedure CreateParams(var Params: TCreateParams); override;
      private
        FBefool: Boolean;
        procedure SetBefool(const Value: Boolean);
        { Private declarations }
      public
        { Public declarations }
        property Befool: Boolean read FBefool write SetBefool;
      end;var
      Form2: TForm2;implementation{$R *.dfm}procedure TForm2.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      if FBefool then
        Params.WndParent := 0
      else Params.WndParent := Application.Handle;
    end;procedure TForm2.SetBefool(const Value: Boolean);
    begin
      FBefool := Value;
      RecreateWnd;
    end;end.procedure TForm1.Button1Click(Sender: TObject);
    var
      form2:Tform2;
    begin
      form2:=Tform2.Create (application);
      form2.show;
      ShowMessage('ff');
      form2.Befool := True;
    end;
      

  3.   

    //好玩
    procedure TForm1.Button1Click(Sender: TObject);
    var
      form2:Tform2;
    begin
      form2:=Tform2.Create (application);
      form2.show;
      ShowMessage('1');
      form2.Befool := True;
      ShowMessage('2');
      form2.Befool := False;
      ShowMessage('3');
    end;
      

  4.   

    To zswang(伴水)(被黑中)  
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls,appevnts, Buttons, Db, DBTables, Mask, DBCtrls, Grids, DBGrids;type
      Ebaderror=class(exception);
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        Table1: TTable;
        appevnMainMain:TApplicationEvent
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure DBGrid1Enter(Sender: TObject);
        procedure appevnMainException(sender:Tobject;E:Exception);
        private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    begin
    raise Ebaderror.Create('试一试了');
    showmessage('asdfsaf');
    end;
    procedure appevnMainMainException(sender:Tobject;E:Exception);var
      rslt:boolean;
    begin
      if E is  Ebaderror then
       rslt:=messagedlg(format('%s %s, %s, %s,%s',['An',E.classname,'写你自己的错误处理办法吧',E.message,'是否想退出应用程序?']),mterror,[mbyes,mbno],0)=mryes;
       if rslt then
         application.Terminate else
         application.ShowException (E);end;
    Unsatisfied forward or external declaration: '<Procedurename>' 不满足的向前或外部说明<Procedurename>
    这个错误如何处理呀??
    嗯,就是上边的那个程序出现的了,以前跟本就没的呀;
    ^V^ 知道你行的;
      

  5.   

    procedure TForm1.appevnMainMainException(sender:Tobject;E:Exception);
    //        ~~~~~~~该打
      

  6.   

    用自动生成代码不就好多了//Ctrl+Shift+C
      

  7.   

    To zswang(伴水)(被黑中)  
    不好意思,你的代码没有起作用:(
      

  8.   

     zswang(伴水)(被黑中) 回复于2001-12-14 13:09:52      
    procedure TForm1.appevnMainMainException(sender:Tobject;E:Exception);
    //        ~~~~~~~该打 
     zswang(伴水)(被黑中) 回复于2001-12-14 13:11:41      
    用自动生成代码不就好多了//Ctrl+Shift+C  
    说的清楚一点好不好
      

  9.   

    procedure TForm1.ZswangTest(Sender: TObject);
    begin
    //Copy到Unit1中“end.”的上面
    //按右键菜单->Complete class at cursor
    //理解理解
    end;
      

  10.   

    [在代码编辑器中] 
    Alt+G        <到指定行数>Search|Go to line number 
    Ctrl+Shift+G <生成一个新的GUID码> 
    Ctrl+Shift+C <自动生成类代码> 
    Ctrl+O+O     <列出当前编译指令> 
    Ctrl+O+U     <向后或块大小写互换> 
    Ctrl+J       <列出格式代码> 
    Ctrl+T       <删除右边的词> Ctrl+K+B     <定义块首>Marks the beginning of a block 
    Ctrl+K+C     <复制块>Copies a selected block 
    Ctrl+K+K     <定义块尾>Marks the end of a block 
    Ctrl+K+H     <块隐藏|块显示>Hides/shows a selected block 
    Ctrl+K+I     <块右移>Indents a block by the amount specified in the Block Indent combo box on the Editor options page of the Environment Options dialog box 
    Ctrl+K+P     <打印块>Prints selected block 
    Ctrl+K+R     <从文件读块>Reads a block from a file 
    Ctrl+K+T     <标识符块>Marks a word as a block 
    Ctrl+K+N     <块大写>Changes a block to uppercase 
    Ctrl+K+O     <块小写>Changes a block to lowercase 
    Ctrl+K+L     <标记行块>Marks the current line as a block 
    Ctrl+K+U Outdents a block by the amount specified in the Block Indent combo box on the Editor options page of the Environment Options dialog box. 
    Ctrl+K+V     <移动块>Moves a selected block 
    Ctrl+K+W     <写块到文件>Writes a selected block to a file 
    Ctrl+K+Y     <删除块>Deletes a selected block 
    Ctrl+O+C Marks a column block 
    Ctrl+O+I Marks an inclusive block 
    Ctrl+O+K Marks a non-inclusive block 
    Ctrl+O+L Marks a line as a block 
    Ctrl+Q+B     <到块首>Moves to the beginning of a block 
    Ctrl+Q+K     <到块尾>Moves to the end of a block Ctrl+K+[N]   <标记书签>Sets book [N] 
    Ctrl+K+Ctrl+[N] 
    Shift+Ctrl+[N] Ctrl+Q+[N]   <查找书签>Goes to book 
    Ctrl+Q+Ctrl+[N] 
    Ctrl+[N]