El framework VCL necesita:
1. Se setee el "MainForm" de la aplicacion. Este debe ser una variable global definida en la seccion interface de la unidad del form
2. El form se inicializa no con su constructor Create, sino mediante Application.CreateForm
3. Cuando el MainForm es cerrado, la aplicacion termina
Esta implementacion
no la podes cambiar
Yo creo que la opcion mas sana es, dejar el que tenes como "menu principal" como MainForm; luego realizar la validacion "si no introdujo la cantidad para hoy" --> crear y mostrar form caja, caso contrario, seguir con el principal
Ejemplo trivial
Código Delphi
[-]
function IntrodujoCantidad: Boolean;
begin
Result := False;
end;
var
FormCaja: TForm3;
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm2, Form2);
if not IntrodujoCantidad then
begin
FormCaja := TForm3.Create(NIL);
try
FormCaja.ShowModal;
finally
FormCaja.Free;
end;
end;
Application.Run;
end.