Newsgroup: it.comp.lang.visual-basic
Titolo: [?] colloquiare tra ActiveX

Ciao a tutti,
avrei bisogno di un'informazione:
- vorrei sapere come diversi ActiveX EXE possono "parlare" tra di loro.
Premetto che sto ancra "provando" ad usare gli ActiveX.
Mi spiego:
- Ho un EXE standard (MAIN) che chiama un ActiveX (ELENCO PRATICHE) così:
Option Explicit
Public mElPratiche      As ElPratiche
Set mElPratiche = New ElPratiche
mElPratiche.ShowForm tipNoModal    ' NON modale
- questo ActiveX EXE (ELENCO PRATICHE) ha una listview che al doppio click
deve chiamare un altro ActiveX EXE (PRATICA) e passargli dei dati. Ed ho
fatto così:
Option Explicit
Public mPratica     As Pratica
Set sTemp = lstvElPratiche.SelectedItem
Set mPratica = New Pratica
mPratica.ShowForm tipModal    ' modale
Set mPratica = Nothing
- Ora in PRATICA devo poter prendere i dati che voglio passare da ELENCO
PRATICHE.
Cosa devo aggiungere a quello che ho già fatto?
Devo aprire un'altra istanza di ELENCO PRATICHE in PRATICA (es. Option
Explicit ---> Public mElPratiche     As ElPratiche)? Ho provato ma mi dice
che la classe non può effettuare il comando "Set mElPratiche = New
ElPratiche" presente nella Load del Form principale.
Datemi una mano pleasse!
Grazie 1000.
PRG.

 Premetto che sto ancra "provando" ad usare gli ActiveX.
[CUTTOOOOOOOOOOOOOOOOOONEEEEEEEEEE!]
Così a naso, senza andarmi a rivedere gli oggetti COM che io non uso MAI, se
non nel caso dei controlli utente, perchè quelli davvero sono molto utili e
poco altro, lo so, è male, ma per quello che devo fare io ci metto più tempo
a creare un oggetto COM che a riscrivere tutto da capo ogni volta che creo
una App.
In sto periodo mi stanno toccando per la certificazione, (L'laltra settimana
mi han segato....di poco...SOMARO!!!!, mi sono già prenotato per ridare
l'esame il 16 novembre)
Comunque
O usi un server ActiveX oppure crei nel secondo activex un metodo che riceve
dei parametri.
Ciao

 Cosa devo aggiungere a quello che ho già fatto?
Concettualmente nulla; cosi' come passi un parametro al tuo metodo ShowForm
per indicare se la form e' modale oppure no, allo stesso modo puoi
aggiungere un secondo parametro per passare i dati che ti interessano.
Tecnicamente dovresti riuscire a passare direttamente l'oggetto ListItem di
cui hai un riferimento in sTemp, ma non e' un sistema molto pulito e
francamente te lo sconsiglio.
una soluzione tra tante, per esempio, e' quella di definire direttamente
nella classe pratica tutte le proprieta' che caratterizzano l'oggetto, oltre
al metodo ShowForm che ne restituisce la rappresentazione a livello di
interfaccia grafica; la tua chiamata diventerebbe quindi qualcosa di simile
a
Set mPratica = New Pratica
With mPratica
    .Numero = 101
    .Oggetto = "La rava e la fava"
    .Destinatario = "tozzi fan"
    '[...] ecc.
    .ShowForm tipModal
End With
il metodo ShowForm, internamente, dovrebbe quindi assicurarsi di trasmettere
i dati che interessano alla relativa form; il modo piu' semplice in questo
caso e' quello di passare l'istanza stessa dell'oggetto chiamante:
'ipotetico metodo .ShowForm, immagino il tuo sia a grandi linee gia' cosi'
Dim f As frmPratica
Set f = New frmPratica
'questa e' una property di tipo pratica che devi definire nella form
Set f.PraticaCorrente = Me
f.Show
'[...]
Piu' o meno e' tutto qui
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown