 
View Full Version : [vb.net] visibilità oggetti
ciao a tutti mi sono avvicinato da poco alla proggrammazione "strutturata" ed orientata agli ogetti.
conosco abbastanza vb e mi volevo avvicinare a vb.net
adesso ho un problema credo banalissimo ma dal quale non riescio a uscire.
Public Partial Class MainForm
	Public Sub New()
		Me.InitializeComponent()
	End Sub
	
	Sub BTn_calcolaClick(sender As Object, e As EventArgs)
		dim UIctr=New Controllore 
		...... assegno dei valori all'ogetto UIctr
                if UIctr.validate then
			dim StoreVal=New Storevalues
			....
                        .... assegno dei valori all'ogetto Storeval
		end if
		
		
	End Sub
	
	Sub Button1Click(sender As Object, e As EventArgs)
		se storeval esiste  stampa storeval.nome
        End Sub
End Class
non riesco a vedere l'ogetto instaziato nella prima sub dalla seconda..illuminatemi?
grazie
euphyllia87
23-10-2009, 18:06
Mmmm... non vorrei dire una stupidata, magari mi ricordo male e correggetemi se non è così, ma in VB.net mi pare che due sub siano completamente 'a se stanti', ovvero non possono comunicare.
Poi io questa sintassi... non l ho mai vista in VB.net 
dim StoreVal=New Storevalues
Direi più così....
Dim StoreVal AS New Storevalues
... la tua è molto C# Like :)
Comunque ho detto una cagata sulle SUB! Ora ricordo di aver sviluppato un Software tempo fa basato tutto sulle Sub... inguardabile! O_O
ciao a tutti mi sono avvicinato da poco alla proggrammazione "strutturata" ed orientata agli ogetti.
conosco abbastanza vb e mi volevo avvicinare a vb.net
adesso ho un problema credo banalissimo ma dal quale non riescio a uscire.
Public Partial Class MainForm
	Public Sub New()
		Me.InitializeComponent()
	End Sub
	
	Sub BTn_calcolaClick(sender As Object, e As EventArgs)
		dim UIctr=New Controllore 
		...... assegno dei valori all'ogetto UIctr
                if UIctr.validate then
			dim StoreVal=New Storevalues
			....
                        .... assegno dei valori all'ogetto Storeval
		end if
		
		
	End Sub
	
	Sub Button1Click(sender As Object, e As EventArgs)
		se storeval esiste  stampa storeval.nome
        End Sub
End Class
non riesco a vedere l'ogetto instaziato nella prima sub dalla seconda..illuminatemi?
grazie
Per forza. Lo scope di storeval rimane nell'ambito della Sub in cui è definito.
In quel caso storeval viene creato nella Sub, e viene distrutto al termine della Sub stessa... 
Per fare in modo di vederlo da ogni punto del codice all'interno della Form, lo devi dichiarare come Private a livello di Classe Form, poi lo puoi inizializzare e vedere da ogni Sub della Form stessa.
euphyllia87
24-10-2009, 12:27
Per forza. Lo scope di storeval rimane nell'ambito della Sub in cui è definito.
In quel caso storeval viene creato nella Sub, e viene distrutto al termine della Sub stessa... 
Per fare in modo di vederlo da ogni punto del codice all'interno della Form, lo devi dichiarare come Private a livello di Classe Form, poi lo puoi inizializzare e vedere da ogni Sub della Form stessa.
Allora non avevo detto una cagata... ;) ricordavo bene.
Allora non avevo detto una cagata... ;) ricordavo bene.
Sì, ma non è una prerogativa di VB.
In VB.NET una Sub non è altro che un metodo Void della classe in cui è inserita, perciò che sia VB, C#, o Java, la regola è la stessa. Ciò che viene dichiarato all'interno di un metodo e non ha riferimenti con i membri della classe, nasce e muore in quel metodo.
euphyllia87
24-10-2009, 13:52
Sì, ma non è una prerogativa di VB.
In VB.NET una Sub non è altro che un metodo Void della classe in cui è inserita, perciò che sia VB, C#, o Java, la regola è la stessa. Ciò che viene dichiarato all'interno di un metodo e non ha riferimenti con i membri della classe, nasce e muore in quel metodo.
Si questo lo so :) ma non mi ricordavo come funzionasse la Sub :), ora che mi hai ricordato essere un metodo void della classe principale (ovvero quella in cui è utilizzata) mi è chiaro :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.