Как вариант - что-то вроде этого (привязка к событию по таймеру, но можно и к др.событиям) :
Код:
program FODB_Query;
uses
...,
Forms,
fdb_logoform_01 in 'fdb_logoform_01.pas' {Form_Logo_01},
fdb_logoform_02 in 'fdb_logoform_02.pas' {Form_Logo_02},
...;
{$R *.res}
begin
Application.Initialize;
//------------------------------------
//Создается 1-я форма
Form_Logo_01 := TForm_Logo.Create(nil);
Form_Logo_01.Show;
Form_Logo_01.lbl_State.Caption:='Сообщение-1 на ЛогоФорме-1 ...';
Application.ProcessMessages;
//------------------------------------
Application.CreateForm(TForm1, Form1);
...
Application.Run;
end.
=======================================
type
TForm1 = class(TForm)
...
iLogo : integer;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
...
iLogo := 1;
...
Timer1.Enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enaled:=false;
Label_DT.Caption:=DateTimeToStr(NOW);
if iLogo=5 then begin
//Уничтожается 2-я форма
if Form_Logo_02<>nil then begin
FreeAndNil(Form_Logo_02);
Form_Logo_02:=NIL;
iLogo := iLogo+1;
end;
end;
if iLogo=4 then begin
//Создается 2-я форма
Form_Logo_02 := TForm_Logo.Create(nil);
Form_Logo_02.Show;
Form_Logo_02.lbl_State.Caption:='Сообщение-1 на ЛогоФорме-2 ...';
iLogo := iLogo+1;
Application.ProcessMessages;
end;
if iLogo=3 then begin
//Уничтожается 1-я форма
if Form_Logo_01<>nil then begin
FreeAndNil(Form_Logo_01);
Form_Logo_01:=NIL;
iLogo := iLogo+1;
end;
end;
if iLogo=2 then begin
if Form_Logo_01<>nil then begin
Form_Logo_01.lbl_State.Caption:='Сообщение-3 на ЛогоФорме-1 ...';
Application.ProcessMessages;
iLogo := iLogo+1;
end;
end;
if iLogo=1 then begin
if Form_Logo_01<>nil then begin
Form_Logo_01.lbl_State.Caption:='Сообщение-2 на ЛогоФорме-1 ...';
Application.ProcessMessages;
iLogo := iLogo+1;
end;
end;
Timer1.Enaled:=true;
end;