|
|
|
Einige DirectX Methoden bringen Daten in Parametern
zurück deren Typ nicht spezifiziert ist. Zum
Beispiel, die DirectSoundCaptureBuffer.ReadBuffer-Methode liefert einen Buffer vom Typ
Any. Und mit
solch einem Datentyp kann man in VB wenig anfangen.
|
In
Visual Basic ist es besser, wenn solche Methoden die
Daten als Array of Bytes (Byte-Datenfeld) liefern. Da es mit Visual
Basic nicht möglich ist, nur den Namen des
Arrays an die Methode zu übergeben, muss daher das erste Element
von einem Array übergeben werden.
Im Folgenden Beispiel ist dsCaptureBuffer als ein
DirectSoundCaptureBuffer-Objekt deklariert worden.
Buffer ist ein Array of Bytes und nBytes ist ein
Wert vom Typ Long, der die Anzahl der zu lesenden Bytes beinhaltet.
|
|
|
ReDim
buffer(nBytes)
Call dsCaptureBuffer.ReadBuffer(0,
nBytes, buffer(0), 0) |
|
|
Wichtig:
|
Es gibt auch einige Methoden, die ein Array von einem
von DirectX vordefinierten Datentyp erwarten, wie
z.B. DirectInputDevice.SetDataFormat. In solch
einem Fall muss das Array ohne Angabe des ersten Elements
übergeben werden. Im folgenden Beispiel ist formatArray
ein Array of DIOBJECTDATAFORMAT.
|
|
|
MyDevice.SetDataFormat(diDataFormat,
formatArray()) |
|
|
|