DoEvents() et Visual Studuio 2008 [Résolu]

cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 30 sept. 2008 à 09:14 - Dernière réponse : cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention
- 27 oct. 2008 à 10:28
Salut à tous,

venant d'acquérir VS 2008, j'ai voulu reprendre une ancienne appli développée sous VS 2005 et je me suis rendu compte que la fonction DoEvents() de l'objet Application n'existe plus... Malgré quelques recherches, je n'ai pas trouvé son équivalent.

Est-ce que l'un d'entre vous pourrait m'aiguiller sur le sujet?

Merci.

<hr />
@+  
Afficher la suite 

Votre réponse

14 réponses

cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 30 sept. 2008 à 10:57
+3
Utile
As-tu de référencé dans ton projet l'assembly System.Windows.Forms ?
Si non, clic droit sur ton projet -> ajouter référence -> onglet .net  et sélectionner System.Windows.Forms
Si oui essai ceci System.Windows.Forms.Application.DoEvents()

++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Willi
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 30 sept. 2008 à 09:24
0
Utile
Bonjour,
La méthode DoEvents de la classe Application existe toujours !
Application.DoEvents()

++
Commenter la réponse de cs_Willi
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 30 sept. 2008 à 09:29
0
Utile
C'est vrai que je n'ai pas de message d'erreur à la compilation et mon projet se génère correctement, mais à l'exécution, ça plante sur le Application.DoEvents() avec les message suivant :

"Le membre public 'DoEvents' du type 'ApplicationClass' est introuvable."

Il me manquerait quelquechose?

<hr />
@+  
Commenter la réponse de cs_drahcir
NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscription 21 mai 2018 Dernière intervention - 30 sept. 2008 à 10:10
0
Utile
Bonjour,

Tu as mis Option Strict à On ?

http://nhen0039.chez-alice.fr/index.php
Commenter la réponse de NHenry
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 30 sept. 2008 à 11:06
0
Utile
NHenry -> Non et jamais d'ailleurs, je pense qu'en .net ça n'est utile de le préciser.

Willi -> Oui l'assembly est bien référencée.

Bizarre cette erreur...

<hr />
@+  
Commenter la réponse de cs_drahcir
NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscription 21 mai 2018 Dernière intervention - 30 sept. 2008 à 11:54
0
Utile
Bonjour,

Définit OptionStrict à On, il te signalera l'erreur si c'e'st un membre inconnu.
En .NET, toujours vérifier que Option Explicit et Option Strict sont à On, c'est une question de logique de developpement. (cela peut être différent sur un seul module de l'appli si besoin, mais cela doit rester une exception).

http://nhen0039.chez-alice.fr/index.php
Commenter la réponse de NHenry
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 30 sept. 2008 à 12:54
0
Utile
En effet, je viens de vérifier, et par défaut OptionStrict est sur "personnalisé". Je viens de le modifier à On et je me retrouve avec quelques erreurs.

Je regarde ça de plus prés...

<hr />
@+  
Commenter la réponse de cs_drahcir
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 30 sept. 2008 à 16:08
0
Utile
Avec ce paramétrage,  Application.DoEvents() me renvoie une erreur à la génération :

Option Strict On rejette toute liaison tardive

Help....

<hr />
@+  
Commenter la réponse de cs_drahcir
Kristof_Koder 920 Messages postés vendredi 3 août 2007Date d'inscription 27 octobre 2008 Dernière intervention - 30 sept. 2008 à 16:49
0
Utile
Aurais-tu redéfinis le nom Application ou DoEvents quelque part dans une classe ?
Commenter la réponse de Kristof_Koder
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 30 sept. 2008 à 16:57
0
Utile
Le message de liaison tardive n'a pas de rapport avec Application.DoEvents().
Essai de nettoyer ta solution (menu générer -> Nettoyer la solution) et de la regénérer complètement avec l'option Strict Off.
Commenter la réponse de cs_Willi
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 30 sept. 2008 à 17:11
0
Utile
[auteur/KRISTOFKODER/1121413.aspx
]Kritof_Koder -> non, je n'ai redéfini ni Application ni DoEvents()

Willi -> j'ai fait tout comme tu m'as dit, mais le résultat est le même

<hr />
@+  
Commenter la réponse de cs_drahcir
Kristof_Koder 920 Messages postés vendredi 3 août 2007Date d'inscription 27 octobre 2008 Dernière intervention - 30 sept. 2008 à 19:19
0
Utile
Il doit bien indiquer sur quel ligne se pose le pb de la liaison tardive ! Il est vrai que cela semble peu probable que ce soit la ligne avec un Applicaiton DoEvents !
Commenter la réponse de Kristof_Koder
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 27 oct. 2008 à 09:50
0
Utile
J'ai reparcouru vos messages, et j'étais passsé à côté de ça : System.Windows.Forms.Application.DoEvents()

qui du coup fonctionne trés bien!!

Bizarre cependant  que Application.DoEvents() ne fonctionne pas puisque l'assembly System.Windows.Form a bien été ajoutée.

<hr />
@+  
Commenter la réponse de cs_drahcir
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 27 oct. 2008 à 10:28
0
Utile
Bonjour,
Si Application.DoEvents() ne fonctionnait pas soit je vois 2 possibilités:
1) Tu n'avais pas ajouter la directive "Imports System.Windows.Forms" en haut de ton code.
2) Ont peut supposer que tu as une classe/structure/module nommer Application alors il cherche une méthode DoEvents dans celle-ci et non dans la bonne classe.

Voila mes idées...
++
Commenter la réponse de cs_Willi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.