Affichage écran de demarrage

Signaler
Messages postés
8
Date d'inscription
jeudi 19 octobre 2000
Statut
Membre
Dernière intervention
24 mai 2002
-
Messages postés
8
Date d'inscription
jeudi 19 octobre 2000
Statut
Membre
Dernière intervention
24 mai 2002
-
Bonjour,

J'ai suivi la méthode de l'aide pour afficher une Form pendant 3 secondes au démarrage de mon appli :

<<
procedure TForm1.FormActivate(Sender: TObject);
begin
if Startup then
begin
Startup := False;
Form2.Show;
end;
end;

Form2 contient un composant Timer dont la propriété Interval a la valeur 3000. La méthode Close de la fiche est attachée à l'événement OnTimer du composant OnTimer.

procedure TForm2.Timer1Timer(Sender: TObject);
begin
Close;
end;

>>

Form1 est ma Form principale.
Startup est un attribut de Form1 initialisé à True.

Cependant, le programme ne rentre jamais dans la méthode FormActivate et rien ne se passe.

Qu'ai-je oublié de faire ?

merci

2 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Précision: ce n'est pas lorsque la fiche Form1 est active mais lorsque l'application devient active.

Dans l'évènement Create de la fiche Form1, tu écris :

procedure TForm1l.FormCreate(Sender: TObject);
begin
Application.OnActivate := AppActivate;
end;

Dans la partie déclaration de la fiche, tu mets :
TForm1=class(TForm)
...
private
procedure AppActivate(Sender: TObject);
end;

et, enfin, dans la procédure AppActivate :
procedure TForm1.AppActivate(Sender: TObject);
begin
if Startup then
begin
Startup := False;
Form2.Show;
end;
end;

Et là, çà marche !

May Delphi be with you.
Messages postés
8
Date d'inscription
jeudi 19 octobre 2000
Statut
Membre
Dernière intervention
24 mai 2002

J'ai essayer la solution ci-dessous mais ça ne marche pas non plus.

La procédure AppActivate n'est jamais appelée.