Tämä voi olla yksinkertainen ongelma, mutten löydä googlettamalla vastausta: Miten syötän matriisin aliohjelmaan?
Minulla on aliohjelma HaetaanData, joka hakee mittalaitteelta datan, tallettaa sen 27x27-matriisiin "Data", ja tästä matriisista pitäisi piirtää riveittäin käyriä. Haluan siis, että on aliohjelma Piirto(), jolle annetaan matriisi ja aliohjelma piirtää käyrät.
Kuitenkaan tuo matriisin syöttö ei onnistu edes yksiulotteisella matriisilla. Olen kokeillut seuraavia vaihtoehtoja:
Private Sub HaetaanData() Dim Data(30) As Double 'tai byte tai integer Data = 'tehdään jotain Piirto(Data) End Sub Private Sub Piirto(ByVal Data As Double) Private Sub Piirto(ByRef Data As Double) Private Sub Piirto(ByVal Data() As Double) Private Sub Piirto(ByRef Data() As Double) Private Sub Piirto(Data() As Double)
jne.
Ainakin Monon VB.Net-kääntäjällä toimii tuo ByRef Data() As Double, ja moniulotteisen saa lisäämällä sulkuihin oikean määrän pilkkuja.
Tämä on kyllä ihan legendaarinen tapa löytää vastaus: heti kun kysyy niin löytää itse. Ongelma ratkesi käyttämällä Variant-muotoa, siis
Private Sub Piirto(ByVal Data As Variant)
Aihe on jo aika vanha, joten et voi enää vastata siihen.