[fpc-pascal] Program without window but messages

J├╝rgen Hestermann juergen.hestermann at gmx.de
Wed Apr 25 18:14:09 CEST 2012

Howard Page-Clark schrieb:
 > A GUI program requires a "main window" since that is the avenue for 
user interaction.
 > You can hide that window (not "ignore" it) as in the following 
program, which compiles
 > and runs. However, I can't myself see the use of such truncated GUI 
 > Once the main form is hidden, I see no way for the user ever to get 
back to it.

 > program Project1;
 > {$mode objfpc}{$H+}
 > uses Interfaces, Forms, Unit1, Dialogs;
 > {$R *.res}
 > begin
 >   Application.Initialize;
 >   Application.CreateForm(TForm1, Form1);
 >   Form1.Hide;
 >   ShowMessage('TEST');
 >   Form1.Close;
 >   Application.Run;
 > end.

I also thought about this but wanted to avoid any flickering window
coming up on program start when it's created with CreateForm and
directly hidden again afterwards.

JC Chu gave an example by omitting most of the above and only leaving:


This works. Though I thought that ShowMessage is not part of the LCL
so the 1.5 MB added to the program could be avoided.
But okay, if it is from the LCL then I will use the Windows API messagebox
function instead.

Thanks everybody for the hints!
I think I know now how to get on the road.

More information about the fpc-pascal mailing list