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())

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX-Forum | VB.Net | .Net-Forum | Foren-Archiv | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report

Letzte Aktualisierung, Montag, 28. Oktober 2002