XE2 - Application.Title

Résolu
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 - 18 avril 2012 à 11:09
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 - 23 avril 2012 à 11:32
Bonjour,

pour info :
J'ai un petit code récupéré sur le net et permettant de contrôler qu'une appli ne sera lancée qu'une seule fois

  Application.Title := 'Start MonApp';
  GetClassName(Application.handle, ClassName, 254); {met dans ClassName le nom de la class de l'application}
  result := FindWindow(ClassName, 'MonApp'); {renvoie le Handle de la première fenêtre de class (type) ClassName
      et de titre TitreApplication (0 s'il n'y en a pas)}
  // Une instance existante trouvée
  if result <> 0 then begin
     ShowWindow(result, SW_RESTORE);
     SetForegroundWindow(result);
     Application.Terminate;
  end
  else begin
       Application.Title := 'MonApp';
       //Application.MainFormOnTaskbar := True;
       Application.CreateForm(TFMain, FMain);
       Application.Run;
  end;


ça évite qu'un utilisateur cliquant impatiemment 25 fois sur l’icône de démarrage lance 25 fois l'application...
Ce code est basé sur le titre de l'application. Or sous XE2, dans le fichier du projet (dpr), delphi nous rajoute un "Application.MainFormOnTaskbar := True" qui a pour effet (indésirable ?) de mettre le Application.Title à ''
Dommage...

Simon

9 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
18 avril 2012 à 12:26
Salut,

il n'y a pas d'erreurs ... c'est un comportement tout à fait normal.

"MainFormOnTaskbar" signifie que c'est le titre(caption) de la fiche principale qui est utilisé pour l'afficher dans la barre des taches.

MainFormOnTaskbar := True; // affiche le titre de MainForm
MainFormOnTaskbar := False; // affiche Application.Title 

plus d'information sur cette page
[hr]@+Cirec
[hr]
3
Rejoignez-nous