Newsgroup: it.comp.lang.visual-basic
Titolo: CallBack con ReadDirectoryChangesW

Sto cercando di realizzare un sw di backup in real-time e ho pensato quindi
di utilizzare la funzione "ReadDirectoryChangesW" per ricavare le modifiche
all'albero di una directory.
Il problema è che vorrei che il SO chiamasse una mia funzione ogni volta che
rileva una modifica, ma non riesco a farglielo fare (sebbene MSDN dica che
si può).
Come di regola metto tutto in un modulo e uso AddressOf per passare
l'indirizzo della routine, ma niente... semplicemente la routine non viene
richiamata.
Googlando non ho trovato nessun esempio di un simile utilizzo, mi chiedevo
se qualcuno tra voi avesse mai tentato una cosa simile con l'ape suddetta,
se volete posto il codice (non funzionante).

 se qualcuno tra voi avesse mai tentato una cosa simile con l'ape suddetta,
Ci avevo provato ed avevo preso delle sberle :-(
Sempre che non ci sia qualche esperienza positiva da parte di altri, ti
suggerirei di cambiare strategia e prendere spunto da questi due url:
Creating a Watched Folder with FindChangeNotification
http://vbnet.mvps.org/index.html?code/fileapi/watchedfolder.htm
How to Receive Shell Change Notifications
http://vbnet.mvps.org/index.html?code/shell/shchangenotify.htm
Non conosco la seconda, ma la prima potrebbe esserti utile.
-- 
hth, hal

 
http://vbnet.mvps.org/index.html?code/shell/shchangenotify.htm
Questa non l'avevo mai sentita, però leggendo sembra che utilizzi API non
documentate... interessante comunque.

 dovrebbe funzionare...
Ehmm, ora funziona, cioč, non avevo capito che dovevo chiamare sleepex,
credevo (e speravo) che il SO mi avrebbe eseguito automaticamente la
funzione che gli passavo con addressof.
Comunque a questo punto sarebbe necessario creare un thread che facesse il
lavoro di raccolta informazioni senza bloccare tutto il programma... la vedo
dura :-(

 Sto cercando di realizzare un sw di backup in real-time e
http://www.codeproject.com/file/directorychangewatcher.asp
http://www.codeproject.com/file/filemonitor.asp?select=2986&df=100&forumid=602&exp=0
http://online.infomedia.it/riviste/cp/88/articolo02/articolo.htm
http://www.tek-tips.com/viewthread.cfm?qid=70519
che dice esiste un activex
http://www.digibuy.com/cgi-bin/product.html?96196920672
(psss...è scrito in vb quindi......se l'ha fatto lui....)
http://www.codeguru.com/Cpp/W-P/files/article.php/c4467/
questa ultima potrebbe funzionare....si tratta di modificare un po di c++...
l'idea di costruirsi un service in c++ ed interrogarlo da dove vuoi...oppure
di leggere un log...
................e per ultimo...............
http://www.vbcity.com/forums/topic.asp?tid=28055&highlight=ReadDirectoryChangesW
Buon lavoro ...aggiornaci sul tuo lavoro se vuoi!
:-)
-- 
------------------------------------------------
Sito web: 
http://www.martek.it


http://www.vbcity.com/forums/topic.asp?tid=28055&highlight=ReadDirectoryChangesW
Quanta roba :-o :-)))
Comunque per ora sto facendo così:
Passo alla ReadDirectoryChangesW (con addressof) l'indirizzo di una
Completion Routine su di un modulo che si occuperà di aggiornare una matrice
con l'elenco dei cambiamenti.
Poi metto il sistema in un loop di attesa con la MsgWaitForMultipleObjectsEx
+ doevents che dà la possibilità di processare gli eventi (senza bloccare il
programma) e rende il programma responsivo alle callback.
Per ora sembra funzionare alla perfezione... :-)