VB 2010 Obj pubblico

giovedì 07 marzo 2013 - 11.30
Tag Elenco Tags  VB.NET  |  .NET 3.0  |  .NET 3.5  |  .NET 4.0  |  Windows 7  |  Windows Vista  |  Windows XP  |  Visual Studio 2010  |  MySQL 5.5  |  MySQL 5.1  |  MySQL 5.0  |  VBScript

DomDroid Profilo | Newbie

salve sto creando un programma in vb 2010 che legge da un dbms mysql dei dati ed elabora un numero preciso di "video" da visualizzare.
Preciso che sto utilizzando le activex di vlc e tutto funziona se creo io l'oggetto direttamente sul form o creo nella sub form_load l'oggetto con le varie proprietà.
Il mio problema nasce quando leggo dal db e creo il ciclo for per creare/gestire gli oggetti "vlc" (chiamiamoli cosi) poichè sono oggetti nuovi che non riesco a passare in altre sub dello stesso form poichè non riesco a dimensionare gli ogetti come Public(sempre perchè mi trovo nella sub Form_Load).
Come posso fare per creare un numero pari a quello che prendo da db di oggetti che posso utilizzare in ogni Sub??? forse sto chiedendo una cosa alquanto scontata.

Grazie in anticipo.

Vinsent Profilo | Senior Member

Puoi usare un modulo o dichiarare "Shared" i tuoi oggetti/variabili...se posti un pò di codice d' esempio è più facile darti un suggerimento preciso...

DomDroid Profilo | Newbie

sinceramente ho risolto creando l'oggetto direttamente nella classe, creando una matrice con un numero stabilito(anche se non erano quelle le mie intenzioni), in pratica ho fatto:

Public vlc2(36) As AxAXVLC.AxVLCPlugin2

e cosi posso visualizzare in tutte le sub..

posso chiederti la cortesia di spiegarmi/linkarmi qualcosa sulle shared?

cosi gli do un'occhiata

grazie!

Vinsent Profilo | Senior Member

Forse ho capito...se dichiari una variabile all' interno di una sub non puoi "vederla" all' esterno, devi appunto dichiararla a livello di classe o inserirla in un contenitore sempre a livello della classe come hai fatto.
Al posto della matrice potresti usare un Dictionary o una List...magari sei più comodo...
Per la guida prova a leggere qui:
http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_dotNET/Membri_Shared/
Ciao

DomDroid Profilo | Newbie

Innanzitutto grazie per la risposta e le info. La mia esigenza era quella di creare tot numeri non definiti di vlc a seconda del risultato del db, però poichè non sapevo come fare ho dovuro creare una matrice con un numero statico di indici.
A questo punto se dovessi creare un modulo con il dimensionamento di vlc(), dovrei passare il numero(intero) al modulo come si fa con una function? e nella function ci metto un ciclo for da 1 a N(numero intero passato) che dimensioni una lista/matrice di vlc?
Forse mi sto soltando incasinando io

Vinsent Profilo | Senior Member

Il fatto di usare un modulo o meno dipende dalla "visibilità" che vuoi dare alla variabile/oggetto...chiamiamolo "Sofia"..., se Sofia lo dichiari in un modulo è visibile in tutte le parti del progetto, se dichiari Sofia in un Form o una classe devi fare riferimento a questi ultimi per accedere al primo...se vuoi avere "Sofia" devi chiedere al "Padre"...e il Padre deve dichiararla "disponibile"...
Per il resto ci sono "contenitori" più efficaci della matrice che usi, vedi List o Dictionary citati sopra o un semplice ArrayList...
Sono dimensionabili a piacimento, basta aggiungere o rimuovere gli elementi e scegliere il più adatto allo scopo...
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5