simbad Inserito: 23 novembre 2006 Segnala Share Inserito: 23 novembre 2006 Salve a tutti,all'interno di un mio programma fatto in VB6, che viene lanciato da una supervisione, vorrei riuscire far comparire a video una maschera on sritte un pò di cose. Fino ad ora ho utilizzato la funzione msgbox, ma ora non mi è più sufficiente, infatti la mia maschera non voglio visualizzarla sul PC sul quale sta girando lo scada, ma su un'altro PC collegato in rete. Vorrei quindi una funzione simile alla msgbox ma in cui inserire l'indirizzo del PC sul quale visualizzarla.Qualcuno sa se in VB6 Prof. si può fare e qual'è l'oggetto che mi serve e il nome della funzione.Oppure mi potrebbe bastare l'indirizzo di un forum dedicato al VB sul quale cercare.Qualcuno l'ho già provato, ma fino ad ora nullaGrazie Link al commento Condividi su altri siti More sharing options...
Bruno Inserita: 23 novembre 2006 Segnala Share Inserita: 23 novembre 2006 CiaoLa descrizione che hai fatto è un pochettino vaga...Potresti scegliere diverse strade:1) Fare applicazioni (client/server) in cui una si accorge degli eventi da monitorare e si preoccupa di inviare messaggi (magari via socket) ad una o più applicazioni che si preoccupano di ricevere i messaggi e visualizzarli a video (questi client possono essere su stessa macchina o su altri PC). Per questa possibilità usi l'oggetto winsock o le API windows dei socket (ricerca con sock o winsock)2) La tua applicazione manda messaggi stile "windows messanger" (es: "NET SEND IP_Address MESSAGGIO") e sulle altre macchine compare un popup stile message box (trovi un esempio del genere in www.visual-basic.it)3) Alcuni utilizzano la posta interna, ossia la tua applicazione manda un messaggio di posta a determinati indirizzi e-mail. In questo modo come il precedente scivi una sola applicazione che manda messaggi e non si preoccupa se qualcuno li legge e dall'altro lato utilizzi strumenti normali presenti su ogni computer4) Applicazioni client/server utilizzando come canale di scambio un database, questa soluzione è simile al caso (1) un'applicazione scrive gli eventi su un database (che può essere condiviso in rete) e altre applicazioni custom si preoccupano di visualizzare...Ci sono innumerevoli soluzioni dipende solo da te.BR1P.S.Io evitere i MessageBox, non mi sembrano molto eleganti ! Link al commento Condividi su altri siti More sharing options...
simbad Inserita: 23 novembre 2006 Autore Segnala Share Inserita: 23 novembre 2006 Ciao Bruno,la seconda soluzione sembra fare al caso mio. Mi sono iscritto al sito che mi hai indicato e sto cercando dove spiega il funzionamento della funzione che mi hai indicato: "NET SEND IP_Address MESSAGGIOancora però non l'ho travato, intanto continuo a cercare.Grazie Link al commento Condividi su altri siti More sharing options...
antstan Inserita: 23 novembre 2006 Segnala Share Inserita: 23 novembre 2006 Non sono un programmatore in VB quindi non me ne vogliate.La soluzione 4 è quella che credo migliore!!!Gli impianti progettati dalla mia azienda sono gestiti così e vi assicuro che oltre ad esse applicazioni molto performanti si prestano perfettamente ad eventuali ampliamenti del sistema!!! Link al commento Condividi su altri siti More sharing options...
simbad Inserita: 23 novembre 2006 Autore Segnala Share Inserita: 23 novembre 2006 Certo, anch'io sono daccordo. Questa volta però non posso utilizzarla. Infatti il client non deve compiere nessuna operazione. In questocaso il client diventa un pò un semplice visualizzatore di messaggi, ecco perchè l'idea messenger fa alcaso mio.In assoluto, la trovo anch'io poco elegante, ma è esattamente quello che dobbiamo realizzare...è che non lo sò fare... Link al commento Condividi su altri siti More sharing options...
il^nonno Inserita: 23 novembre 2006 Segnala Share Inserita: 23 novembre 2006 guarda se questo articolo di Marco Turrini sulla trasmissione client server mediante winsock ti puo' essere di aiuto, in effetti a te serve una form con un textbox sul PC che riceve e che puo' essere server e che il pc sul quale gira il tuo applicativo in determinati momenti vada a scaricare su detta text box i suoi dati (lato client). In pratica come se fosse una chat.http://www.redangel.it/programmatori/marco...ock/winsock.asp Link al commento Condividi su altri siti More sharing options...
simbad Inserita: 24 novembre 2006 Autore Segnala Share Inserita: 24 novembre 2006 Grazieho appena letto sul sito. Quello che intendevo dire nel post precedente è che il client non può e non deve eseguire nulla: solo visualizzare. Gli applicativi, nell'esempio di Turrini, sono due: uno per il server e uno per il client.Ora vi cercherò di spiegare la situazione reale.Siamo in presenza di una supervisione realizzata con RSVIEW32. Lo scada è associato al pacchetto RAD di Rokwell, che permette di trasformare RSVIEW32 in un'applicazione client/server. A questo punto la supervisione gira sulla macchina server (NON PRESIDIATA), mentree gli operatori sono sui vari client, sparsi per lo stabilimento. Dai client vengono lanciati programmi VBA ed eseguibili VB6, i quali gireranno sulla macchina server. Premetto che questa supervisione non era nata con logica client/server, la stiamo adattando a poco a poco, manao a mano che inciampiamo in qualche errore di funzionamento. Dicevo...se uno di questi programmi, ad sesmpio un VBA commette un errore, entra in funzione l'evento Error. Fino ad ora abbiamo utilizzato una msgbox per visualizzare il messaggio di errore, ma la msgbox nella nuova onfigurazione client/server viene visualizzata solo sul server. Risultato: nessuno presidia il server, quindi nessuno vede il messaggio, nessuno quindi pigia END di conferma e cancellazione messagio, l'utente rimane davanti al client senza sapere nulla e senza poter far nulla, perchè VBA attende. L'errore è stato generato non dal programma con un bug, ma perchè l'utente h asbagliato l'immissione di un dato.Noi vorremmo sostituire la msgbox con un comando che faccia la stessa cosa ma che visualizzi il messaggio sul client, in modo che l'utente possa cancellarlo e continuare le sue operazioni, reintroducendo il dato correttoInfatti anche Turrani scrive nel suo articolo:"...In caso di errori viene scatenato l’evento Error; nella mia realtà non uso però una MsgBox, perché l’applicazione è NON presidiata e rischierei, bensì una routine ScriviSuLog(strNomeFileLog, strUtente, Number, Description, etc)..."Non vogliamo utilizzare un DB destinato a LOG. Vogliamo vedere il messaggio sul client e di lì cancellarlo.Scusate se solo ora ho spiegato tutto.Grazie, rimango in attesa di suggerimenti.Ciao Link al commento Condividi su altri siti More sharing options...
irpick Inserita: 24 novembre 2006 Segnala Share Inserita: 24 novembre 2006 Dai client vengono lanciati programmi VBA ed eseguibili VB6, i quali gireranno sulla macchina serverChe macchine sono i tuoi client, che sistema operativo adottano, con che modalità eseguono start applicazioni sul server? Link al commento Condividi su altri siti More sharing options...
simbad Inserita: 24 novembre 2006 Autore Segnala Share Inserita: 24 novembre 2006 Ciao irpickpensavo fosse evidente in quanto dicevo che l'applicazione è uno scada rsview32 con estensione RAD, quindi siamo in windows e il modo per far partire qualche eseguibile VB6 da rsview32 è utuilizzare il comando interno appropriato cioè appstart "percorso\nomefile.exe". Per quanto riguarda VBAè il VBA interno di rsview32, il comando sarà quindi vbaexec "percorso\nomefile.exe".Per completezza le macchine sono normali PC. Il server ha come sistema operativo win2003 server (ma potrebbe essere anche win xp in quanto Rockwell consente di utilizzare il RAD anche fra macchine xp) e i client hanno come sistema operativo win xp sp2.Pensavo che fossero informazioni non importanti, ed infatti non capisco quale aiuto possano dare.Di fatto non mi serve sapere come lanciare il programma...quello lo stiamo già facendo e funziona...mi serve sapere come sostituire la msgbox con la funzione di cui ho chiesto al messaggio precedente.Ciao e grazie per aver richiesto di completare la descrizione dell'applicazione. Link al commento Condividi su altri siti More sharing options...
il^nonno Inserita: 24 novembre 2006 Segnala Share Inserita: 24 novembre 2006 qui http://users.powernet.co.uk/eton/vb/vbchat.htmlc'e' un esempio pratico in VB client server, in pratica scambia messaggi di testo da uno all'altro, cosi' com'e' manda una frase preimpostata da client a server, paradossalmente dovresti caricare il programmino winsock server sui client, e caricare il codice del client sul tuo server, poi con un ciclo for oppure con un loop fare in modo che il tuo server invii a tutti i pc interessati il blocco di testo che tu desideri. Link al commento Condividi su altri siti More sharing options...
simbad Inserita: 24 novembre 2006 Autore Segnala Share Inserita: 24 novembre 2006 Ok...ma in questo modo defo far eseguire comunque del codice al client......ma non posso... Link al commento Condividi su altri siti More sharing options...
irpick Inserita: 24 novembre 2006 Segnala Share Inserita: 24 novembre 2006 La domanda su che cosa sono i client aveva lo scopo di capire come era strutturato il tutto , ovvero capire i margini di manovra , che da quanto dici non ne ha perchè sono action lanciate da uno "scada".Non specificando però il Sistema Operativo è difficile dirti cosa hai già pronto e cosa no.Una soluzione potrebbe essere visualizzare tramite I.E una pagina di allerta oppure pop up. Link al commento Condividi su altri siti More sharing options...
simbad Inserita: 27 novembre 2006 Autore Segnala Share Inserita: 27 novembre 2006 infatti irpick, l'idea era proprio quella di creare un pop up (o per lo meno un qualcosa che avesse lo stesso effetto). In questi giorni abbiamo provato la funzione net send:NET SEND "nome computer o indirizzo del PC sul quale visualizzare il messaggio" "messaggio"ma ci siamo accorti di due cose:1)funziona solo su LAN2)la LAN deve avere gli indirizzi TCP/IP impostati e non può essere impostata la funzione ottieni automaticamente un indirizzo IPper ultimo aggiungo io, funziona così, così...per quelle he sono le mie capacità di programmatore.Alla fine abbiamo deiso di abbandonare la strada seguente. Spero possa essere utile anche ad altri in futuro:Evoluzione del sistema:-Supervisione SCADA RSVIEW32 Rockwell Automation-Realizzazione del progetto-Utilizzata programmazione in VBA interno di RSVIEW32, programmi lanciati con la funzione interna vbaexec "nome programma"-Utilizzata programmazione in VB6 Prof, compilati programmi e ottenuti eseguibili. Lanciati con la funzione interna appstart "nomeprogramma"-IL PROGETTO HA GIRATO PER 3 ANNI SENZA PROBLEMI-Passaggio alla soluzione Client/Server di Rockwell Automation per RSVIEW32 (sistema RAD)-Sono State neessarie piccole modifiche al progetto per adattarlo al nuovo utilizzo-Utilizzando la configurazione client/server RAD la funzione appstart, sul client, non funziona. E' dunque impossibile lanciare i programmi creati in precedenza.RIMEDIO:è stato passato tutto al VBA di RsView32, gli errori di runtime sono stati triggerati con l'evento on error e passati ad una tag che viene visualizzata sui display grafici. Non facendo così, come detto nei post preedenti, il messaggio di errore viene visualizzato solo sul server e se questo non è presidiato, il client rimane bloccato (sul lato VBA)-Ad oggi il servizio di assistenza Rockwell non ci ha dato ancora una risposta sul perchè non funziona la appstart. Siccome non ci è mai capitato che non ci dessero una risposta su di un problema, appena arriva l'aggiungo al post.CONCLUSIONI:se dovete passare da RSVIEW32 al RAD di RSVIEW32:1)pensateci bene2)il sistema funziona bene a parte la gestione degli eseguibili realizzati da terzi...e voi siete terzi...ciao e spero che possa essere di aiuto a qualcuno Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora