注册 登录
编程论坛 Delphi论坛

delphi编译报错too many actual parameters

hjhcw 发布于 2021-08-28 12:56, 1686 次点击
请教各位,如下代码在delphi7中编译报错:delphi编译报错too many actual parameters,如何解决?完整代码如下:(编译时报错提示在代码倒数第三排)
unit Main;

interface

uses
  Windows, SysUtils, Variants, Classes, Controls, Forms, ExtCtrls, dmGdzc,
  GDZCDJ, GDZCCX, GDZCZJ, GDZCBS, GDZCBX, GDZCCOmmon, ActnList, ActnMan, ActnCtrls,
  ToolWin, StdStyleActnCtrls;

type
  TMainForm = class(TForm)
    amMain: TActionManager;
    atbMain: TActionToolBar;
    acExit: TAction;
    acGDZCDJ: TAction;
    acGDZCCX: TAction;
    acGDZCZJ: TAction;
    acGDZCBS: TAction;
    Splitter: TSplitter;
    acGDZCBX: TAction;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure acGDZCDJExecute(Sender: TObject);
    procedure acGDZCCXExecute(Sender: TObject);
    procedure acGDZCZJExecute(Sender: TObject);
    procedure acGDZCBSExecute(Sender: TObject);
    procedure acExitExecute(Sender: TObject);
    procedure acGDZCBXExecute(Sender: TObject);
  private
    FGDZCDJ: TForm;
    FGDZCZJ: TForm;
    FGDZCBS: TForm;
    FGDZCCX: TForm;
    FGDZCBX: TForm;
    FdmGDZC: TdmGdzc;
  end;

var
  MainForm: TMainForm;

implementation

{$R *.DFM}

procedure TMainForm.FormCreate(Sender: TObject);
begin
  FGDZCBX := nil;  
  FGDZCDJ := nil;
  FGDZCZJ := nil;
  FGDZCBS := nil;
  FGDZCCX := nil;
  FdmGDZC := TdmGdzc.Create(nil);
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  FdmGDZC.Free;
end;

procedure TMainForm.acGDZCDJExecute(Sender: TObject);
begin
  if not Assigned(FGDZCDJ) then
    FGDZCDJ := TGDZCDJForm.Create(nil, FdmGDZC);
  FGDZCDJ.Show;
end;

procedure TMainForm.acGDZCZJExecute(Sender: TObject);
begin
  if not Assigned(FGDZCZJ) then
    FGDZCZJ := TGDZCZJForm.Create(nil, FdmGDZC);
  FGDZCZJ.Show;
end;

procedure TMainForm.acGDZCBSExecute(Sender: TObject);
begin
  if not Assigned(FGDZCBS) then
    FGDZCBS := TGDZCBSForm.Create(nil, FdmGDZC);
  FGDZCBS.Show;
end;

procedure TMainForm.acGDZCCXExecute(Sender: TObject);
begin
  if not Assigned(FGDZCCX) then
    FGDZCCX := TGDZCCXForm.Create(nil, FdmGDZC);
  FGDZCCX.Show;
end;

procedure TMainForm.acExitExecute(Sender: TObject);
begin
  if ConfirmDlg('是否退出?') = IDYes then Close;
end;

procedure TMainForm.acGDZCBXExecute(Sender: TObject);
begin
if not Assigned(FGDZCBX) then
    FGDZCBX := TGDZCBXForm.Create(nil, FdmGDZC);
  FGDZCBX.Show;
end;

end.
2 回复
#2
victor_yang2021-09-08 13:46
FGDZCBX := TGDZCBXForm.Create(nil, FdmGDZC);
给2个参数太多了。
#3
supermay2021-10-20 10:51
TGDZCBXForm没有重载Create吧,你给了两个参数,应有一个create的重载的。
1