Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con un OCX

Progetto: Client IRC/IRCX.
Situazione: Controllo OCX dedicato per apertura dei chan e visualizzazione
dei messaggi.
Caratteristiche dell'oggetto: l'oggetto in questione si incarica di gestire
l'apertura di 10 canali e 100 query per server collegato.
Problema: Caricando più di 1 oggetto all'interno del codice i form che posso
aprire sono sempre 10 e 100.
Ammettendo la mia ignoranza in materia, credevo che ogni ocx gestisse in
maniera indipendente gli oggetti al suo interno.
Cioè chiamando Xroom l'oggetto in questione pensavo di ottenere una
situazione del genere:
Xroom(0) = 10 Form per canale e 100 Form per query
Xroom(1) = 10 Form per canale e 100 Form per query
Xroom(2) = 10 Form per canale e 100 Form per query
ecc..
Invece ottengo questo:
x = 10
y = 100
c = Form aperti per canale
q = Form aperti per query
Xroom(0) = x-c Form per canale e y-q Form per query
Xroom(1) = x-c Form per canale e y-q Form per query
Xroom(1) = x-c Form per canale e y-q Form per query
dove c <= 10 e q <=100
Essendo il client di tipo Multiserver (10 server contemporanei) ed avendo
già creato un motore IRC in versione ocx
sarebbe molto comodo creare una situazione di questo genere:
dati dal server ---------> IrcEngine(0) --------> Xroom(0) -------->
gestione dei dati (10 / 100)
dati dal server ---------> IrcEngine(1) --------> Xroom(1) -------->
gestione dei dati (10 / 100)
dati dal server ---------> IrcEngine(2) --------> Xroom(2) -------->
gestione dei dati (10 / 100)
Forse sono stato un po' contorto nell'esposizione del problema...
Spero che qualcuno possa essermi di aiuto ....
                                                                       Pixel

 Spero che qualcuno possa essermi di aiuto ....
Forse sì... e forse no...
Vediamo se ho capito: Hai una variabile all'interno di un oggetto che conta
delle form... che immagino appartengano allo stesso oggetto...
Ora... la variabile non conta le form di un singolo oggetto, ma tutte...
Ora... se ho capito bene...
Hai per caso un modulo bas nell'oggetto? Ed é per caso lì che gestisci la
variabile contatore? I moduli bas contengo variabili che rimangono condivise
a tutte le istanze di oggetto...
            Ciao
                    Allanon

Bingooooooo !!!!!
E bravo Allanon....
Hai capito benissimo e ... sě ... all'interno dell'ocx incriminato ho un
modulo bas che esegue questa operazione
Public Room(1 to 10) as New form1
Quindi....arrivato a questo punto....come posso risolvere il problema???
Devo per caso inserire 10 form singoli?
Pensi possa essere una soluzione?
Ringraziando per la prima risposta... aspetto la seconda
:-D
Ciao
                     Pixel

 Devo per caso inserire 10 form singoli?
No, dai... :)
Non mi pare proprio il caso! :)
Piuttosto dichiarali all'interno della classe dell'oggetto no? :)
Così ogni istanza dell'oggetto vede solo i suoi :)
Se poi hai bisogno di poterle vedere tutte... Metti nel BAS una collection
ed aggiungili anche lì... Ma okkio a non fare casini...
Ultima cosa... ma non vorrei mettere troppa carne al fuoco...
Sicuro che 10 form bastano?
Fare allocazione dinamica delle form? :) (Se sì guarda Redim su MSDN)... Se
non vuoi eccedere... aspetta la release 2 per programma :)
                Ciao
                            Allanon

Ok...finalmente ho capito....
ho capito che non so' un TUBOOOOOOOOO!!!!
eh..già...anche perchè...io di classi so solo quelle in cui ero a
scuola...... eheheh
scherzi a parte... a grandi linee ho capito....mi applicherò e vediamo che
succede..
Grazie ancora...
P.S.
Allanon....uhm....se ti dico Walker Bho (meglio conosciuto come Zio Oscuro)
ti ricorda niente???
Ciao
                              Pixel

 Ciao
E' un po' come se fossimo una persona sola... anzi spesso da altre parti ho
quello come nick! :)
            Ciao
                Allanon