Avvio in automatico aggiornamento dati programma

lunedì 17 maggio 2010 - 11.08

biggiu Profilo | Junior Member

Salve a tutti, ho il seguente quesito da porre :

Ho realizzato una procedura VB.net in cui lavorano due programmi. Il primo esegue un'elaborazione. Il secondo manipola i dati elaborati. Io vorrei che questo secondo programma fosse in grado di eseguire il refresh automatico dei dati non appena il primo programma abbia eseguito una nuova elaborazione.
Qualcuno sa darmi qualche aiuto in merito ?

Grazie e buon lavoro a tutti.

BigGiu

bobo89 Profilo | Junior Member

Ciao,
una volta aggiunti i dati dal programam A fai eseguire l evento che carica i dati del programma B... (questo è a rigor di logica ora non so come hai strutturato il tutto).


Zito Piero
bobo-89@libero.it

biggiu Profilo | Junior Member

I due programmi non sono cosecutivi.
Il programma B, lavora in modo autonomo. Avrei bisogno di una funzione, un comando, (?daemon?) qualunque cosa che riesca a lavorare autonomamente e monitorare l'avvenuto aggiornamento dei dati. Quando questo aggiornamento è avvenuto, deve eseguire il refresh dei dati manipolati dal programma B.
In pratica io potrei gestire in qualche tabella un flag che varia di stato ogni volta che i dati vengono aggiornati dal programma A. Il programma B dovrebbe testare permanentemente questo flag ( senza pesare sul normale funzionamento ). Quando lo trova "attivo", esegue il refresh, lo disattiva e torna ad attendere la sua variazione di stato.
BigGiu

bobo89 Profilo | Junior Member

Potresti provare con un Timer. Questo è l unico modo per poter avviare una funzione in automatico.
Allora alla modifica dei dati in A potresti associare una Variabile che viene scritta in una tabella del db, dal programma B con un timer fai verificare lo stato di questa variabile.
In access per esempio esiste il campo SI/No .
Quando esegui una modifica o una aggiunta dal programama A tu andrai a scrivere in questa tabella in valore Si, nel contempo nel programma B avrai inserito un timer che ogni minuto legge il contenuto di questa tabella che se è SI avvia il refresch altrimenti rimane cosi com' è!!! una volta che ha aggiornatomodifica quella tabella da SI a NO.
Dovrai però gestire in A un particolare. Dato che tu potrai fare piu modifiche e ogni volta che salvi ti scrive si in quella tabella, devi inporre che se in quella tabella è gia scritto si non deve scrivere nient' altro. Cosi facendo avrai in quella tabella sempre un unico record che viene giostrato da A e B.

Spero che ti possa servire, non mi è mai capitata una cosa del genere però procedo per ragionamento..

Zito Piero
bobo-89@libero.it

biggiu Profilo | Junior Member

Hai quache esempio di codice da analizzare ?
BigGiu

bobo89 Profilo | Junior Member

Al momento no, però vedo di riuscire a tirare giù qualcosa per questa sera!
Zito Piero
bobo-89@libero.it
http://www.makerit.altervista.org

biggiu Profilo | Junior Member

Grazie, aspetterò....
BigGiu

bobo89 Profilo | Junior Member

Buongiorno,
scusami il ritardo ma ieri ho avuto una giornata troppo impegnata.

http://www.makerit.altervista.org/biggiu.rar

da qst link puoi scaricare il sorgente.

sono 2 mini programmini in uno inserisci i dati e nel altro li visualizzi.
nel programma b all avvio legge tt i membri inseriti, poi ogni 600 milisecondi esegue il controllo per poter avviare il refresch o meno.
spero ti sia chiaro il meccanismo che ho utilizzato.

Fammi sapere

Zito Piero
bobo-89@libero.it
http://www.makerit.altervista.org

biggiu Profilo | Junior Member

Dovrebbe essere l asoluzione che cercavo. una sola domanda..

dove o come si imposta il tempo di intervallo del timer ?

BigGiu

bobo89 Profilo | Junior Member

vai nella form clicchi sul timer proprietà e da li puo impostare il tempo. al momento è impostato su 6000milisecondi se non erro...,attenzione a una cosa qnd metti un nuovo controllo timere a me visual studio 08 per defoult me lo da disabilitato sempre nelle proprietà alla voce enabled devi mettere true.

In quella soluzione ho cercato di risolvere un po' dei possibili problemi, come vedi nella tab conf è sempre è un solo record ad essere modificato, si poteva anke fare senza quella abella e cioè piu semplicemente che il programa ogni tot tempo mi andava a leggere indistintamente dal db, xò con pochi danti non c'è molta differenza di tempo-reazione, però credo che se c'i fossero una grande mole di dati, questo processo renderebbe + lento la normale esecuzione di B.
Spero la soluzione che ti ho fornito ti possa essere stata d'aiuto!!
Fammi sapere!!!!!
ciaoo!!
Zito Piero
bobo-89@libero.it
http://www.makerit.altervista.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5