begin process at 2010 03 16 21:47:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

appeler FormClose sans TCloseAction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

appeler FormClose sans TCloseAction

vendredi 29 février 2008 à 14:38:18 | appeler FormClose sans TCloseAction

zwyx

Bonjour à tous,

J'ai déclaré une méthode classique appelée lors de la fermeture du programme:
procedure FormClose(Sender: TObject; var Action: TCloseAction);

Par ailleurs, un méhode déclenchée sur l'évènement OnKeyDown de ma TForm1 agit lorsque certaines touches sont pressées:
procedure InterceptKeyboard(Sender: TObject; var Key: Word; Shift: TShiftState);

Dans cette deuxième méthode, je souhaite quitter le programme lorsque la touche pressée est Echap. Mais je n'ai aucun argument de type TCloseAction pour appeler ma première méthode FormClose.

procedure TForm1.InterceptKeyboard(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key = VK_ESCAPE do
   FormClose(Sender, ?);
end;


J'ai essayé caFree, mais c'est une constante, il n'est pas de type variable.
Comment puis-je me tirer d'affaire ?

Bon week-end.
vendredi 29 février 2008 à 15:12:48 | Re : appeler FormClose sans TCloseAction

Caribensila

Membre Club
Réponse acceptée !

Salut,

procedure TForm1.InterceptKeyboard(Sender: TObject; var Key: Word; Shift: TShiftState);
  begin
  if Key = VK_ESCAPE then form1.Close;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
  begin
  InterceptKeyboard(sender, key, Shift);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  begin
  if MessageDlg('Fermer l''application?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
  Action :=caFree
  else
  Action :=caNone;
end;

vendredi 29 février 2008 à 16:45:14 | Re : appeler FormClose sans TCloseAction

zwyx

Mais c'est biensûr !
J'avais tout bêtement oublié que la méthode assignée à l'évènement OnClose de la TForm1 était appelé par Form1.Close;
Une fois de plus, je ne sais pas ce que je serais devenu sans CodeS-SourceS.
Merci Caribensila, et bon week-end.



Cette discussion est classée dans : sender, méthode, appeler, formclose, tcloseaction


Répondre à ce message

Sujets en rapport avec ce message

Appel d'une Form [ par apz ] salut, pour appeler une form, certains utilisent la méthode suivante : ------------------------------------------------------------Form1.Show--------- TNotifyEvent [ par apz ] Salut, en executant ce code j'ai eu le code d'ereur suivant : Types incompatibles : 'TnotifyEvent' et 'procedure, untyped pointer or untyped parameter "Incompatible types :''Cardinal' and 'String' " [ par Don0Choa ] Bonjour, je fais un petit prog permettant de fair des boite de dialogue en séléctionnant les bouttons, icones etc...Mais voila j'ai une erreur comem d Choisir la piste d'un cd audio [ par alexistoulotte ] Est-ce que qqn connait une méthode pour aller directement a la piste d'un cd audio que l'utilisateur a choisi (par un edit par exemple).Merci d'avance TIdHTTP et TThread [ par zmc ] Bien le bonjour,en fait j'ai commencé la création d'un petit gestionnaire de telechargement. Avec le composant TIdHTTP c'est très simple, sauf que j'a Libération de ressources [ par nicolaspennaneach ] j'ai une application MDI où chaque fenètre enfant possède un thread pour effectuer certaines opérations. Lorsque j'exécute la méthode formclose d'une pb a creer un exe avec la principal form invisible [ par Winniez ] J'ai voulu au demarrage de exe afficher une autre form que la form principal. a l'execution sa me met une erreur, apres g mis le meme code dans un bou Récupérer les données de zones Edit d'une autre appli [ par Prog59 ] Bonjour,J'ai une appli qui contient des Edit et je voudrai récupérer les données des Edit dans un fichier txt.J'ai repris le prg de DelphiProg concern pointeur de méthode dans une dll ... [ par silmortes ] Slt !!!!J'ai un soucis j'ai un objet TIBDatabase que je créé dynamiquement dans ma dll : Database := TIBDatabase.Create(NIL); Da Appeler une MdiChild par son numéro [ par darkduck ] BonjourLorsque j'ouvre une deuxieme MdiChild comment puis je faire pour fermer la premiere ?Je pense qu'il faut l'appeler par son numero car elle n'a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales