Newsgroup: it.comp.lang.visual-basic
Titolo: Comunicazione tra Appilcazioni

Buon girono a tutti,
Sono un po' profano nella programmazione in VisulBasic e ho la
necessità di far comunicare un'applicazione scritta in visual Basci ed
uno script in Visual Basic anche questo.
L'applicativo e lo script vengono eseguiti entrambi sullo stesso pc.
Il Dati che devo far passre tra i 2 sono delle strutture di dati create
da me, e dovrei anche poter far eseguire delle operazioni dallo script
sull'applicativo.
Per farli comunicare non posso utilizzare delle basi dati comuni
Il pensavo di poter usare un ocx o una Dll che si occupi di ricevere
istruzioni dallo script e faccia eseguire delle funzioni all'interno
dell'applicativo.
e' una cosa possibile oppure esiste una strada più semplice?
Grazie per l'aiuto
   Nicol@

Intanto cosa stai usando?!? vb6 o 
vb.net?
!?

VB6

 e' una cosa possibile oppure esiste una strada più semplice?
Socket?
-- 
Free As In Freedom
www.fsf.org

ti riporto un semplice esempio di comunicazione tra 2 applicazioni
avviate sullo stesso computer (estratto da msdn)
----------------------------
Nozioni fondamentali sulla connessione TCP
Quando si crea un'applicazione che utilizza il protocollo TCP, è
innanzitutto necessario decidere se tale applicazione sarà server o
client. Se l'applicazione è un server rimarrà in "ascolto" su una
determinata porta. Quando il client invia una richiesta di connessione,
il server potrà accettare tale richiesta e completare la connessione.
Client e server potranno quindi comunicare.
La seguente procedura consente di creare un semplice server:
Per creare un server TCP
Creare un nuovo progetto EXE standard.
Assegnare al form predefinito il nome frmServer.
Modificare la didascalia del form in "Server TCP".
Trascinare un controllo WinSock nel form e modificarne il nome in
tcpServer.
Aggiungere nel form due controlli casella di testo. Denominare il primo
txtSendData e il secondo txtOutput.
Specificare per il form il codice riportato di seguito.
Private Sub Form_Load()
' Imposta su un intero la proprietà LocalPort.
' Richiama quindi il metodo Listen.
tcpServer.LocalPort = 1001
tcpServer.Listen
frmClient.Show ' Visualizza il form client.
End Sub
Private Sub tcpServer_ConnectionRequest _
(ByVal requestID As Long)
' Verifica se il valore della proprietà State
' è sckClosed. In caso contrario, chiude la
' connessione prima di accettare quella nuova.
If tcpServer.State <> sckClosed Then _
tcpServer.Close
' Accetta la richiesta con il parametro
' requestID.
tcpServer.Accept requestID
End Sub
Private Sub txtSendData_Change()
' Il controllo casella di testo denominato
' txtSendData contiene i dati da inviare.
' Quando l'utente digita una stringa nella
' casella di testo, tale stringa viene inviata
' con il metodo SendData.
tcpServer.SendData txtSendData.Text
End Sub
Private Sub tcpServer_DataArrival _
(ByVal bytesTotal As Long)
' Dichiara una variabile per i dati in ingresso.
' Richiama il metodo GetData e assegna i dati
' alla proprietà Text del controllo casella di
' testo txtOutput.
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData
End Sub
Il codice sopra riportato consente di creare una semplice applicazione
server. Per completare l'esempio è tuttavia necessario creare anche
un'applicazione client.
Per creare un client TCP
Aggiungere un nuovo form nel progetto e denominarlo frmClient.
Modificare la didascalia del form in "Client TCP".
Aggiungere un controllo WinSock nel form e denominarlo tcpClient.
Aggiungere in frmClient due controlli casella di testo. Denominare il
primo txtSend e il secondo txtOutput.
Disegnare un controllo pulsante di comando nel form e denominarlo
cmdConnect.
Modificare la didascalia del controllo pulsante di comando in
"Connetti".
Specificare per il form il codice riportato di seguito.
Importante   Assicurarsi di sostituire il valore della proprietà
RemoteHost con il nome del computer.
Private Sub Form_Load()
' Il nome del controllo WinSock è tcpClient.
' Nota: per specificare un host remoto, è possibile
' utilizzare l'indirizzo IP (es: "121.111.1.1")
' oppure il nome del computer, come qui indicato.
tcpClient.RemoteHost = "NomeComputerRemoto"
tcpClient.RemotePort = 1001
End Sub
Private Sub cmdConnect_Click()
' Richiama il metodo Connect per stabilire una
' connessione.
tcpClient.Connect
End Sub
Private Sub txtSendData_Change()
tcpClient.SendData txtSend.Text
End Sub
Private Sub tcpClient_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
tcpClient.GetData strData
txtOutput.Text = strData
End Sub
------
Spero che ti sia di aiuto.

 VB6
La via a quasi zero costo è un'app ActiveX exe che esponga una classe 
pubblica che faccia da scambio con l'esterno (e questa sarà l'app vb6).
Da VBScript fai un bel CreateObject della classe di cui sopra e tramite i 
suoi metodi comunichi con l'exe.
Ciao