Newsgroup: it.comp.dotnet
Titolo: Array scemo o scemo io?

Allora dichiaro all'interno di:
 
Pubblic Class
public matrice(123,3) as byte
end class
 
riempio questa matrice all'interno di una:
 
sub UsoArray()
-----
end sub
 
e printando i dati della matrice, sempre all'interno di questa sub,
risulta effettivamente piena dei miei dati.
 
tuttavia se uso questa stessa matrice in:
 
private sub_button1_click
A=matrice (12,2)
end sub
anche ciclando e printando A mi da sempre ZERO.
 
Perchè??
 
(PS ho provato prima a mettere pubblic davanti a sub_button1_click,
 poi a fare un modulo esterno dove dichiaro public Matrice(123,3) as byte
ma nulla da fare) 
 

 Perchč??
 
Perche' un array e' un reference type...
 
-LV
 
 

> Perche' un array e' un reference type...
 
ehm... non so cosa significa.... In pratica
come posso rendere "visibili" i dati dell'array
dappertutto? 

 wrote in message 
news:4e75f798$0$44201$4faf...@reader1.news.tin.it...

Per la differenza fra value-types e reference-types e per come si comportano 
quando passati by-ref oppure by-val, prova a partire questo articolo: 
http://www.dreamincode.net/forums/topic/135354-reference-types-value-types-byval-byref
 
 
Cio' detto, ho riguardato il tuo pseudo-codice e il problema potrebbe essere 
altro (per es. A=matrice (12,2) assegna ad A un singolo elemento di 
matrice): dovresti postare del codice un po' piu' preciso... idealmente il 
minimo codice reale che riproduce il problema.
 
-LV
 
 

 minimo codice reale che riproduce il problema.
 
questo è il codice incriminato:
Public Class Form1
 
  REM--------------------------
 
    Public GLOBAL_COUNT As Long
    Public Dati(8192, 4) As Byte
    Public PlayAbles(8192, 4) As Byte
 
Sub PlayAble_Search(ByVal Controllo, ByVal Analisi)
 
        Dim Riga As Integer
        Dim Colonna As Byte
        Dim Dato, XX, YY As Byte
        Dim Count1 As Long
 
	REM reset
        Count1 = 0
        XX = 0
        YY = 0
        Dato = 0
 
        REM scansiona tutte le righe di DATI
        REM GLOBAL_COUNT è stato calcolato Public in un altra sub, si vede 
dappertutto
 
 
        For Riga = 0 To GLOBAL_COUNT - 1 - Controllo
            For Colonna = 0 To 4
                REM inizia controllo
                Dato = Dati(Riga, Colonna)
                REM nucleo di controllo
 
		For YY = 1 To Controllo
                    For XX = 0 To 4
                        REM verifiche
                        If Dati(Riga + YY, XX) = Dato Then
                            Count1 = Count1 + 1
                        End If
 
                    Next
                Next
'================================================================
'QUA è VENGONO INSERITI I DATI NELLA MATRICE PLAYABLES
'DATI(X,Y) è una matrice sempre public e si vede dappertutto ok
'================================================================
                If Count1 = 0 Then
                    PlayAbles(Riga, Colonna) = Dato
		    ListBox1.Items.Add(PlayAbles(Riga, Colonna))
                Else
                    PlayAbles(Riga, Colonna) = 0
		    ListBox1.Items.Add(PlayAbles(Riga, Colonna))
                End If
                Count1 = 0
 
            Next
        Next
    End Sub
REM =============================================================
REM
REM
    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button2.Click
 
            Dim N, T As Integer
            Dim A,B As String
 
	    A = ""
            B = ""
 
            ListBox1.Items.Clear()
	    ListBox2.Items.Clear()
 
            For N = 0 To GLOBAL_COUNT - 1
                For T = 0 To 4
 
		    A = A + Str(Dati(N, T))' QUESTA MATRICE MI DA I VALORI CORRETTAMENTE
                    B = B + Str(PlayAbles(N, T)) 'QUESTA MATRICE MI DA TUTTI 
I VALORI ZERO
 
                Next
                ListBox1.Items.Add(B)
                B = ""
                ListBox2.Items.Add(A)
                A = ""
 
            Next
 
 
    End Sub
End Class 
 

Risolto..."scemo io"