Affichage écran de demarrage

cs_lirva Messages postés 8 Date d'inscription jeudi 19 octobre 2000 Statut Membre Dernière intervention 24 mai 2002 - 24 mai 2002 à 10:30
cs_lirva Messages postés 8 Date d'inscription jeudi 19 octobre 2000 Statut Membre Dernière intervention 24 mai 2002 - 24 mai 2002 à 16:14
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

cs_lirva Messages postés 8 Date d'inscription jeudi 19 octobre 2000 Statut Membre Dernière intervention 24 mai 2002
24 mai 2002 à 16:14
J'ai essayer la solution ci-dessous mais ça ne marche pas non plus.

La procédure AppActivate n'est jamais appelée.
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 33
24 mai 2002 à 11:24
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.
Rejoignez-nous