[.NET2] FILESYSTEMWATCHER, DELEGATE

Utilisateur anonyme - 4 juin 2006 à 08:08
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 - 22 févr. 2011 à 19:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37933-net2-filesystemwatcher-delegate

philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
22 févr. 2011 à 19:20
Bonjour. Solution très intéressante et facile à utiliser.
Par contre, quelqu'un sait-il comment utiliser FILESYSTEMWATCHER sur un serveur ftp ? Du genre //10.13.20.78/Dossier
Je n'arrive pas à le faire fonctionner.

merci
dimitriusai Messages postés 76 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 7 mai 2009 1
18 mai 2008 à 01:17
J'ai découvert une erreur, ou un bugg.
J'ai instancés plusieurs fois votre classe afin de pouvoir checker les .bmp .jpg et .png
et ils me font tous un event, alors que le jpg m'en créée deux !! bizard non ?

qqun a il déja eu ce bugg ? solution ?

Merci d'avance
thepoe Messages postés 30 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 1 juin 2011
18 août 2006 à 16:23
Connaissez vous le 'CheckForIllegalCrossThreadCalls = False' ?
Cela permet beaucoup plus de choses sur les forms, notamment de modifier des valeurs sur un SplashScreen lors d'un Form_Load...

Plus encore, pour éviter les messages multiples du même fichier...
Dans les Sub FileSystemWatcher1_Changed,Created,etc..., sauvegardez la valeur de 'e.FullPath' dans une variable globale et conditionnez l'action faite avec 'if VarGlob <> e.FullPath then' ou VarGlob est le 'e.FullPath' mémorisé.

Voila, plus de polution de log...

Bon Courrage à tous...
cs_Red_Dragon Messages postés 41 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 27 septembre 2006
9 juin 2006 à 12:19
Hormis la remarque (pertinente) de DRALUORG, excellent -> 10/10.
Si tu trouves la solution pour les notifications inutiles, bravo, en plus je serais preneur ;)
VBSorcier Messages postés 102 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 29 avril 2007
6 juin 2006 à 18:59
j'ai vu aussi effectivement que lorsque l'on modifie un fichier on est averti plusieurs fois ...

je me penche sur la question... pour voir si on peut contourner la chose !
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
6 juin 2006 à 12:49
Salut a tous,

J'avais deja un peu essaye ce composant, ce que je trouve relativement genant, c'est que si je cree un fichier, suivant sa taille je vais avoir plusieurs notifications alors que c'est une meme operation :( Je sais que c'est assez logique, car le fichier change de taille en plusieurs fois, mais bon...

Quelqu'un aurait il une idee pour contourner ce prob ?

++
cs_benazza Messages postés 3 Date d'inscription dimanche 26 juin 2005 Statut Membre Dernière intervention 6 juin 2006
6 juin 2006 à 10:32
Merci pour votre réponse
VBSorcier Messages postés 102 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 29 avril 2007
5 juin 2006 à 18:58
ce composant était deja présent en .net 1.1 donc il suffit d'ouvrir le code avec notepad et de le mettre ds un projet .net1.1 et de la modifier un peu car le delagate n'existait pas avec .net1.1 donc ne pas mettre le FSW dans une classe séparé mais la mettre dans la feuille principale ...
cs_benazza Messages postés 3 Date d'inscription dimanche 26 juin 2005 Statut Membre Dernière intervention 6 juin 2006
5 juin 2006 à 11:49
est ce que vous avez 'exmple en .Net 1.1
c'est tres utile pour moi

Merci
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
4 juin 2006 à 12:34
je préfère faire comme ceci (question de gout)

sub delegate delFSW(value as string)
........
Private Sub mFSW_Changement(ByVal Path As String) Handles mFSW.Changement

if me.invokerequired then
dim del as new delSFW(addressof delProc)
me.invoke(del,path)
end if

End Sub
.....
private sub delProc(value as string)
TonLabel.text = value
TonTextbox.text = value
TonListbox.items.add value
end sub

Bonne continuation :)
++
VBSorcier Messages postés 102 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 29 avril 2007
4 juin 2006 à 11:57
voila avant de partir j'ai modifier le code pour gerer objets avec une delegate et les methode Invoke et AsynCallback

j'espère que cela sera utile pour pas mal d'entre notement la partie Cross-Threading

a+
VBSorcier
VBSorcier Messages postés 102 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 29 avril 2007
4 juin 2006 à 11:01
ok je fait ca, je sais pas si j'aurais le temps aujourd'hui (repas de famille)
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
4 juin 2006 à 10:57
L'objet FileSystemWatcher ne s'execute pas dans le thread principal alors sa passe quand tu fais un messagebox mais si je fais appel à un objet créer dans mon thread principal, ba sa coince.

Private Sub mFSW_Creation(ByVal Path As String) Handles mFSW.Creation
Me.Text = Path '<--erreur
'MsgBox("Création du fichier " & Chr(34) & Path & Chr(34), MsgBoxStyle.Information)

End Sub

Beaucoup de personnes me demandent comment contourner l'erreur que je t'ai indiqué.
Si tu pouvais ajouter cette correction (en passant par un délégué) je crois que sa interesserait pas mal de monde.

Bonne continuation :)
Utilisateur anonyme
4 juin 2006 à 08:08
Bonjour,

je trouve que ton code est tres propre (que d'autre on oublier comment faire)
il est bien commenté et facile a comprendre !
merci pour cette exemple tres bien fait
9/10
Rejoignez-nous