Error creating a new Web Form

In a TMS Webcore project, when I select Create a new TMS Web Form, I get

Duplicates not allowed

I have restarted Delphi. Any clues, anyone?

Its not holding me up, I can just copy another form and add it manually and carry on.

Is this happening on just any project or just one particular project?

There are two projects compiling to webapps in the project group. It happens on one. I am using Delphi 12.3. I dont recall any issues in the previous 12.x, but I haven't tried to create a new form for a while.

Both are crud projects. One generated by the TMS wizard, the other one, heavily refactored after being generated.

It works fine for a new project group and project.

The dpr for one of the ones that fails is

program ops;

{$R *.dres}

uses
  Vcl.Forms,
  XData.Web.Connection,
  PBS.LIB.Common in '..\..\..\..\LIBS\CMN\PBS.LIB.Common.PAS',
  PBS.LIB.Unicode in '..\..\..\..\LIBS\CMN\PBS.LIB.Unicode.pas',
  PBS.LIB.Html in '..\..\..\..\LIBS\CMN\PBS.LIB.Html.pas',
  PBS.LIB.Join in '..\..\..\..\LIBS\CMN\PBS.LIB.Join.PAS',
  PBS.WEB.Common in '..\..\..\..\LIBS\TMS\PBS.WEB.Common.pas',
  PBS.WEB.Html in '..\..\..\..\LIBS\TMS\PBS.WEB.Html.pas',
  PBS.WEB.Bootstrap in '..\..\..\..\LIBS\TMS\PBS.WEB.Bootstrap.pas',
  PBS.WEB.Xdata in '..\..\..\..\LIBS\TMS\PBS.WEB.Xdata.pas' {*.html: TWebDataModule},
  PBS.WEB.About in '..\..\..\..\LIBS\TMS\PBS.WEB.About.pas' {*.html},
  PBS.WEB.Dialogs in '..\..\..\..\LIBS\TMS\PBS.WEB.Dialogs.pas',
  PBS.LIB.Data in '..\..\..\..\LIBS\CMN\PBS.LIB.Data.pas',
  Srv.Types in '..\server\Srv.Types.pas',
  App.Types in 'core\App.Types.pas',
  App.Strings in 'core\App.Strings.pas',
  App.Data in 'core\App.Data.pas',
  App.Config in 'core\App.Config.pas',
  Auth.Service in 'core\Auth.Service.pas',
  Dataset.Plugins in 'core\Dataset.Plugins.pas',
  Grid.Plugins in 'core\Grid.Plugins.pas',
  Grid.Settings in 'core\Grid.Settings.pas',
  Paginator.Plugins in 'core\Paginator.Plugins.pas',
  Crud.Utils in 'core\Crud.Utils.pas',
  Remote.Data in 'Remote.Data.pas' {Server: TWebDataModule},
  Remote.Functions in 'Remote.Functions.pas' {Aux: TWebDataModule},
  Remote.Virtual in 'Remote.Virtual.pas',
  Browser.Data in 'Browser.Data.pas',
  Ops.Crud_Container in 'Ops.Crud_Container.pas' {frm_Crud_Container: TWebForm} {*.html},
  Ops.List in 'template\Ops.List.pas' {frm_Template_List: TWebForm} {*.html},
  Ops.Edit in 'template\Ops.Edit.pas' {frm_Template_Edit: TWebForm} {*.html},
  Ops.UserProfile in 'Ops.UserProfile.pas' {FViewUserProfile: TWebForm} {*.html},
  Ops.Show.Error in 'Ops.Show.Error.pas' {frm_Error: TWebForm} {*.html},
  Ops.Show.Message in 'Ops.Show.Message.pas' {frm_Message: TWebForm} {*.html},
  Ops.Show.Login in 'Ops.Show.Login.pas' {frm_Login: TWebForm} {*.html},
  Ops.Show.Password in 'Ops.Show.Password.pas' {frm_Password: TWebForm} {*.html},
  Ops.Main in 'Ops.Main.pas' {frm_Ops_Main: TWebForm} {*.html},
  Ops.Show.Home in 'Ops.Show.Home.pas' {frm_Home: TWebForm} {*.html},
  Ops.Show.Summary in 'Ops.Show.Summary.pas' {frm_Summary: TWebForm} {*.html},
  Ops.Types.List in 'Ops.Types.List.pas' {frm_Types_List: TWebForm} {*.html},
  Ops.Types.Edit in 'Ops.Types.Edit.pas' {frm_Types_Edit: TWebForm} {*.html},
  Ops.Bookings.List in 'Ops.Bookings.List.pas' {frm_Bookings_List: TWebForm} {*.html},
  Ops.Bookings.Edit in 'Ops.Bookings.Edit.pas' {frm_Bookings_Edit: TWebForm} {*.html},
  Ops.Bookings in 'Ops.Bookings.pas',
  Ops.Bookings.Temp_Joy in 'Ops.Bookings.Temp_Joy.pas' {frm_Bookings_Temp_Joy: TWebForm} {*.html},
  Ops.Bookings.Scenic in 'Ops.Bookings.Scenic.pas' {frm_Bookings_Scenic: TWebForm} {*.html},
  Ops.Bookings.Charter in 'Ops.Bookings.Charter.pas' {frm_Bookings_Charter: TWebForm} {*.html},
  Ops.Bookings.Warbird in 'Ops.Bookings.Warbird.pas' {frm_Bookings_Warbird: TWebForm} {*.html},
  Ops.Registrations.List in 'Ops.Registrations.List.pas' {frm_Registrations_List: TWebForm} {*.html},
  Ops.Registrations.Edit in 'Ops.Registrations.Edit.pas' {frm_Registrations_Edit: TWebForm} {*.html},
  Ops.Staff_Roles.List in 'Ops.Staff_Roles.List.pas' {frm_Staff_Roles_List: TWebForm} {*.html},
  Ops.Staff_Roles.Edit in 'Ops.Staff_Roles.Edit.pas' {frm_Staff_Roles_Edit: TWebForm} {*.html},
  Ops.Clients.List in 'Ops.Clients.List.pas' {frm_Clients_List: TWebForm} {*.html},
  Ops.Clients.Edit in 'Ops.Clients.Edit.pas' {frm_Clients_Edit: TWebForm} {*.html},
  Ops.Fuel.List in 'Ops.Fuel.List.pas' {frm_Fuel_List: TWebForm} {*.html},
  Ops.Fuel.Edit in 'Ops.Fuel.Edit.pas' {frm_Fuel_Edit: TWebForm} {*.html},
  Ops.Aircraft.List in 'Ops.Aircraft.List.pas' {frm_Aircraft_List: TWebForm} {*.html},
  Ops.Aircraft.Edit in 'Ops.Aircraft.Edit.pas' {frm_Aircraft_Edit: TWebForm} {*.html},
  Ops.Organisations.List in 'Ops.Organisations.List.pas' {frm_Organisations_List: TWebForm} {*.html},
  Ops.Organisations.Edit in 'Ops.Organisations.Edit.pas' {frm_Organisations_Edit: TWebForm} {*.html},
  Ops.Staff.List in 'Ops.Staff.List.pas' {frm_Staff_List: TWebForm} {*.html},
  Ops.Staff.Edit in 'Ops.Staff.Edit.pas' {frm_Staff_Edit: TWebForm} {*.html},
  Ops.Client_Roles.List in 'Ops.Client_Roles.List.pas' {frm_Client_Roles_List: TWebForm} {*.html},
  Ops.Client_Roles.Edit in 'Ops.Client_Roles.Edit.pas' {frm_Client_Roles_Edit: TWebForm} {*.html},
  Ops.Scn_Cats.List in 'Ops.Scn_Cats.List.pas' {frm_Scn_Cats_List: TWebForm} {*.html},
  Ops.Scn_Cats.Edit in 'Ops.Scn_Cats.Edit.pas' {frm_Scn_Cats_Edit: TWebForm} {*.html},
  Ops.Sidemenu in 'Ops.Sidemenu.pas';

{$R *.res}


procedure Display_Error_Form (AMessage : string = ''); forward;

procedure Display_Main_Form;

  procedure LogOut (AMessage : string);
  begin

  end;

  procedure Server_Is_Connected;
  begin
    Tfrm_Ops_Main.Display (tag_body, @LogOut);
  end;

begin
  if not Server.Connected
  then Server.Connect (@Server_Is_Connected)
  else Server_Is_Connected;
end;

procedure Display_Error_Form (AMessage : string);
begin
//  AuthService.Logout;
  Server.Disconnect;
  Tfrm_Error.Display (AMessage);
end;

procedure Unauthorized_Access (AMessage : string);
begin
  Display_Error_Form (AMessage);
end;

procedure Start_Application;
begin
  Display_Main_Form;
end;

begin
  Application.Initialize;
//  Application.DefaultFont.Name := 'Segoe UI';
//  Application.DefaultFont.Size := 10;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TServer, Server);
  Application.CreateForm(TAux, Aux);
  //  Application.CreateForm(Tfrm_Login, frm_Login);
  Application.Run;
  Server.InitApp (@Start_Application, @Unauthorized_Access);
end.

I can't make much sense of why this would happen from just this limited information.
When you create a new form in another app and other folder and then move this form (.PAS/.DFM/.HTML) to this project folder and than add the .PAS file to the project from the project manager, is this working?

Yes Add from Delphi Menu works

Also Add New from Delphi menu works to add a unit. So does add VCL Form or Data Module.

But the following dont work

  • Create a New TMS Web Form
  • Create a New TMS Web Frame
  • Create a New TMS Web Data Module

I scanned the dproj file for anomalies, but I havent discovered any yet.

I dont know what other information to provide. The only other list the IDE gives me at that point is the module list. Attached.

QPInfo-20250723-0000.zip (27.5 KB)

A project with which we can reproduce this would be more helpful, but we'll see what we can already do with the stacktrace.