dans mon application J'ai une forme principale avec un bouton. En cliquant sur ce bouton, un formulaire (non créé automatiquement en dpr) est créé et affiché; Sur ce formulaire, j'ai placé un composant TApplicationEvents et j'ai défini son gestionnaire d'événements OnIdle. Ce gestionnaire d'événements n'est pas appelé! Cela peut-il dépendre parce que j'ai dérivé cette deuxième forme non de TForm mais d'une autre classe, TChartBasicForm (au moyen de VFI)? Merci beaucoup pour vos réponses. Massimo.Pourquoi TApplicationEvents.OnIdle n'est-il pas appelé?
Répondre
Accrocher l'événement inactif d'une application peut entraîner de nombreux problèmes de débogage et d'autres problèmes de maintenance, en particulier sur un formulaire autre que le formulaire principal. Je me rends compte que ceci peut ne pas répondre à votre question spécifique (ce qui est difficile à faire à ce stade étant donné le flou), mais êtes-vous sûr de ne pas pouvoir accomplir ce que vous essayez de faire avec TTimer
ou TThread
?
Merci à tous pour votre intérêt. "Cela ne fonctionne pas" signifie qu'il n'est pas appelé du tout. Au lieu de cela, l'événement OnShowHint fonctionne!
Ooops! Peut-être que j'ai compris le mauvais comportement! Dans la principale forme que je défini une procédure comme celle-ci:
procedure IdleHandler(Sender: TObject; var Done: Boolean);
et dans le FormCreate:
Application.OnIdle := IdleHandler;
Cela inhibe probablement TApplicationEvents.OnIdle, même si dans IdleHandler, à la fin de la procédure, je mets:
Application.OnIdle := nil;
parce que le code est utile d'essayer une connexion seulement au début de l'application lication.
Je vous demande pardon: mon visage est rouge ......
La raison pour laquelle vos actions ont provoqué l'échec de TApplicationEvents est que TApplicationEvents fonctionne en affectant * ses propres méthodes * aux événements de TApplication. Lorsque vous affectez votre méthode directement à l'événement TApplication, vous avez rompu le lien entre elle et l'objet TApplicationEvents. C'est malheureux, mais c'est comme ça que ça fonctionne. –
- 1. Pourquoi Javascript est pas appelé
- 2. Pourquoi OnDragEnter n'est pas appelé?
- 3. Pourquoi viewWillAppear n'est pas appelé?
- 4. pourquoi getPasswordAuthentication() n'est pas appelé?
- 5. Pourquoi mon emplacement n'est-il pas appelé?
- 6. Pourquoi l'écouteur d'événement n'est-il pas appelé?
- 7. iPhone: pourquoi DrawRect n'est pas appelé?
- 8. iphone SDK: UIView dealloc pas appelé. Pourquoi?
- 9. Pourquoi QWidget :: paintEvent n'est pas appelé?
- 10. Pourquoi IExpando.AddMethod n'a pas été appelé?
- 11. Pourquoi mon TypeConverter n'est pas appelé?
- 12. Pourquoi mon constructeur par défaut n'est-il pas appelé ici? Pourquoi mon constructeur par défaut n'est-il pas appelé ici?
- 13. UIScrollView imageViewDidEndZooming pas appelé
- 14. NSURLConnection didFailWithError pas appelé?
- 15. Pourquoi getToolTipText n'est jamais appelé?
- 16. initWithNibName est pas appelé
- 17. doFilter pas appelé
- 18. NHibernate: pourquoi ILifecycle.OnUpdate n'est pas appelé à chaque fois?
- 19. Pourquoi retourner vrai après avoir appelé $ .post() ne fonctionne pas?
- 20. Pourquoi le sélecteur d'arrêt d'animation n'est-il pas appelé?
- 21. Pourquoi le dealloc pour ma classe n'est-il pas appelé?
- 22. Pourquoi le format "respond_to" approprié n'est-il pas appelé?
- 23. Pourquoi WCF ne peut pas être appelé dans wcftestclient?
- 24. Pourquoi est-il appelé 'wchar_t' et pas simplement 'wchar'?
- 25. Pourquoi l'événement form_load n'est pas appelé dans mon application Winforms?
- 26. Pourquoi le convertisseur n'est pas appelé lorsque la collection change?
- 27. C#, WinForms: Pourquoi OnPaintBackground n'est pas appelé lorsque j'appelle Refresh()?
- 28. Pourquoi mon délégué CLLocationmanager n'est-il pas appelé?
- 29. Pourquoi viewWillDisAppear n'est pas appelé en mode détail?
- 30. Pourquoi/quand ComponentListener.componentShown() est appelé?
« Il ne fonctionne pas » est probablement le moins utile phrase dans l'histoire de débogage. Voulez-vous dire que ce n'est pas appelé du tout? Pouvez-vous vérifier cela en plaçant un point d'arrêt dans le gestionnaire d'événements et en observant qu'il ne se casse jamais? Ou voulez-vous dire qu'il fait quelque chose mais pas ce que vous attendiez? –
J'ai écrit une application de test rapide, avec VFI mais pas de TChartBasicForm et tout fonctionne comme prévu. Pouvez-vous fournir plus d'informations? –
Voté pour fermer car il ne semble plus pertinent selon la propre réponse de Massimo. – jpfollenius