Wie macht man das? Geraet(1).Kanal(3).Value

24/08/2007 - 13:32 von Andreas Mahub | Report spam
Mahlzeit,

ich versuche seit Stunden das "Problem" selbst zu lösen, aber ich glaube mein
Denkansatz ist falsch. Also, ich habe 5 verschiedene Geràte. Dafür habe ich
bereits
eine DevicesClass geschrieben, die auch funktioniert. Es können Geràte
hinzuge-
fügt und wieder entfernt werden. z.B.:

Dim Devices As DeviceClass
Dim D As New Device
D.Name = "MH links"
Devices.Add(D)
Devices(Devices.Count - 1).DMXStartaddress = 1

Funktioniert einwandrei. Aber jedes Geràt hat eine unterschiedliche Anzahl von
Adressen, welche eigene Funktionen hat. Jetzt möchte ich ganz gerne in der
DevicesClass etwas hinzufügen damit ich folgendes machen kann:
' Kanàle hinzufügen
Dim Ch As New DMXCh
Ch.Name = "PAN"
Ch.Type = DMXCh.ChType.PAN ' Enum-auflistung - funktioniert auch
Devices(3).DMXChannel.Add(Ch)
Devices(3).DMXChannel(2).Value = 150

Ich bekomme es einfach nicht hin, dass ich innerhalb der DeviceClass ich zu
jedem
Device einen bzw. mehrere Kanàle hinzufügen kann. Irgendwo habe ich einen
Denk-
fehler drin mit ArrayList bzw. der CollectionBase.
Entweder mir wird .Add und .Remove angeboten, dann kann aber nicht mit
Devices(3).DMXChannel(2).Value zugreifen. Oder ich kann auf Value zugreifen,
dann wird mir aber Add usw. nicht mehr angeboten.

Oder kann man innerhalb einer Klasse keine weiteren Klassen mit Arrays
hinzufügen?

Gruß
Andy
VB.Net User
 

Lesen sie die antworten

#1 Andreas Mahub
24/08/2007 - 13:56 | Warnen spam
Hi,

HALT - ich hatte einen groben Denkfehler. Funktioniert.
Unglaublich, ich sitze STUNDEN davor, bekomme es nicht hin, denke mir, fragste
mal in NG und fünf Minuten spàter komme ich selbst drauf...

Gruß
Andy
VB.Net User


"Andreas Mahub" wrote:

Mahlzeit,

ich versuche seit Stunden das "Problem" selbst zu lösen, aber ich glaube mein
Denkansatz ist falsch. Also, ich habe 5 verschiedene Geràte. Dafür habe ich
bereits
eine DevicesClass geschrieben, die auch funktioniert. Es können Geràte
hinzuge-
fügt und wieder entfernt werden. z.B.:

Dim Devices As DeviceClass
Dim D As New Device
D.Name = "MH links"
Devices.Add(D)
Devices(Devices.Count - 1).DMXStartaddress = 1

Funktioniert einwandrei. Aber jedes Geràt hat eine unterschiedliche Anzahl von
Adressen, welche eigene Funktionen hat. Jetzt möchte ich ganz gerne in der
DevicesClass etwas hinzufügen damit ich folgendes machen kann:
' Kanàle hinzufügen
Dim Ch As New DMXCh
Ch.Name = "PAN"
Ch.Type = DMXCh.ChType.PAN ' Enum-auflistung - funktioniert auch
Devices(3).DMXChannel.Add(Ch)
Devices(3).DMXChannel(2).Value = 150

Ich bekomme es einfach nicht hin, dass ich innerhalb der DeviceClass ich zu
jedem
Device einen bzw. mehrere Kanàle hinzufügen kann. Irgendwo habe ich einen
Denk-
fehler drin mit ArrayList bzw. der CollectionBase.
Entweder mir wird .Add und .Remove angeboten, dann kann aber nicht mit
Devices(3).DMXChannel(2).Value zugreifen. Oder ich kann auf Value zugreifen,
dann wird mir aber Add usw. nicht mehr angeboten.

Oder kann man innerhalb einer Klasse keine weiteren Klassen mit Arrays
hinzufügen?

Gruß
Andy
VB.Net User

Ähnliche fragen