我在过程中调用本地声明过程(local declaration)
如:(帮助里的例子)
procedure DoSomething(S: string);var
  X, Y: Integer;  procedure NestedProc(S: string);  begin
    ...
  end;begin   ...
  NestedProc(S);
   ...
end;结果出现这样的错误:
[Error] UQuery.pas(517): Not enough actual parameters大虾们怎解?

解决方案 »

  1.   

    procedure TForm1.Button2Click(Sender: TObject);
    procedure test(s:STring);
    begin
      showmessage(s);
    end;
    var
      s:string;
    begin
      s:='test';
      test(s);
    end;
      

  2.   

    procedure DoSomething(S: string);var
      X, Y: Integer;  procedure NestedProc(S: string);  begin
        ...
      end;begin   ...
      NestedProc(S);
       ...
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      DoSomething('哈哈参数不够');
    end;
      

  3.   

    to  outer2000(天外流星) 我已经试过了,还是老样子,我有两个参数,调用时已经把调用参数都写入了,
    procedure TForm1.Button2Click(Sender: TObject);
    procedure test(sg TStringGrid;s:STring);
    begin
      ...
    end;
    var
    s:string;
    sg:TStringGrid;
    begin
    ..
    s:='s';
    sg:=StringGrid1;
    test(sg;s);
    ..
    end;还是不懂
      

  4.   

    procedure TForm1.Button2Click(Sender: TObject);
    procedure test(sg TStringGrid;s:STring);
    begin
      ...
    end;
    var
    s:string;
    sg:TStringGrid;
    begin
    ..
    s:='s';
    sg:=StringGrid1;
    test(sg;s);   //////改为test(sg,s)  用豆号,不要用分号
    ..
    end;