|
|
|
In C und C++ wird eine
HRESULT-Variable bei jedem
Methoden Aufruf gesetzt. Mit diesem HRESULT kann das
Programm entscheiden, ob es die Rückgabewerte
einer Methode verarbeitet oder ignoriert.
|
In
Visual Basic ist das nicht so einfach. Verursacht
eine Methode einen Fehler, dann wird meist die Prozedur
oder gar das ganze Programm beendet. Daher sollte
man eine Fehlerbehandlung programmieren, damit das
Programm nicht gleich beendet wird.
|
Die
Fehlernummer wird in Visual Basic im globalen Err-Objekt gesetzt. Fast alle der möglichen Fehler
für jede DirectX Methode sind in der Dokumentation
von DirectX aufgelistet, und die Fehlernummern sind
sogar als Konstanten in DirectX vordefiniert. Man
muss sie nur abfangen.
|
Im Beispiel ist gObjDPlay ein DirectPlay4-Objekt.
Läuft der Aufruf von DirectPlay4.CreatePlayer
fehl, dann geht die Ausführung des Codes bei FAILEDCREATEPLAYER
weiter.
|
|
|
Function
GetPlayerID(PlayerName As String,
_
PlayerHandle As String)
As Long
On Error GoTo FAILEDCREATEPLAYER
GetPlayerID = gObjDPlay.CreatePlayer(PlayerName, _
PlayerHandle,
0, 0)
On Error GoTo 0
'Code in diesem Bereich wird ausgeführt,
'wenn CreatePlayer erfolgreich war.
.
.
.
Exit Function
FAILEDCREATEPLAYER:
If Err.Number = DPERR_INVALIDPLAYER
Then
MsgBox ("Kein gültiger Spieler.")
Else
MsgBox("Undefinierbarer Fehler
beim Erstellen der Spieler.")
End If
GetPlayerID = 0
End Function |
|
|
|