fallen angels
Messages postés7Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention28 septembre 2005
-
22 sept. 2005 à 09:54
fallen angels
Messages postés7Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention28 septembre 2005
-
28 sept. 2005 à 09:28
Bonjour a tous,
Dans une boucle sans fin, je fait un test et suivant l'état d'un flag j'affiche une boite message.
Est-il possible de tester si un dialogue et déja affiché à l'écran ?
Comment faire pour que cette boite ne s'affiche qu'une seule fois ?
Merci de votre aide.
L'algo :
while toto do
begin
if flag = true then ShowMessage('-Erreur-');
end;
fallen angels
Messages postés7Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention28 septembre 2005 22 sept. 2005 à 14:55
en fait, je test si des fichiers corespondent à certaints critéres.
j'ai donc positionné un timer qui scrute des répertoires toute les heures.
des qu'un fichier correspond a mon critere, je veux recevoir un message et un seul et sans que le soft s'arrete...
suis-je plus claire ?
fallen angels
Messages postés7Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention28 septembre 2005 27 sept. 2005 à 13:24
bien essayé (quoique un peu compliqué) c'est exactement ça mais... marche po !
il ne fait aucun doute que tu as tapé dans le mille concernant l'algo sauf que le dialog "MessageDlg('', mtError,[mbOK] ,0);" s'affiche toute les minutes (j'ai modifié la tempo) alors que le but recherché et dans afficher une et une seule !
Betement je pense qu'il y a quelque chose du genre :
If MessageDlg('', mtError,[mbOK] ,0) Then // pour detecter qu'une boite est affichée !
Begin
....
End;
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008 28 sept. 2005 à 03:27
oui, c'est en effet le cas mais, le but était aussi de ne pas nuire au soft donc le thread laisse l'aplication rouler et l'alerte ne bloque pas la fiche,...., ce cas là étant réglé ,reste à savoir quand afficher l'alerte ...
Au plus simple j'aurais pensé utiliser un Boolean mais faudrais peut-être prévoir un moyen de le réinitialiser ? une option sur la fiche ? ou après 24 heures on réinitialise automatiquement ?
procedure ScruteFichier;
begin
if dejaAfficher=false then
begin
dejaAfficher:=true;
MessageDlg('', mtError,[mbOK] ,0);
end;
// ?
end;
fallen angels
Messages postés7Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention28 septembre 2005 28 sept. 2005 à 09:28
C'est ce que j'ai fait aussi mais cela ne convient pas !
pas possible d'ajouter un bouton pour reinitialiser le flag car il n'y a pas de fiche !
le truc serait que tant qu'il y a un message a l'écran le programme n'en génére pas de nouveau !
c'est important car même avec une tempo d'une heure, le week end le programme tourne et si l'événement survient je me retrouve le lundi avec une 50e de boites à tuer... c'est galére !
C'est étonnant qu'il n'y ai pas de tests sur les boites de dialogues ?
A+