[ad_1]
Je rencontre un problème sur un projet ; je souhaite créer une image 3D en utilisant DirectX 8 mais je n’arrive pas à créer l’image car cela génère une exception :
<pre lang="text">argumentnullException the argument of D3D.createDevice 's last parameter was null.
Mon code :
Ce que j’ai essayé :
<pre lang="VB"> Imports System imports system.drawing imports system.data imports system.collections.generic imports system.windows.forms imports Microsoft.direct4XVB.directX8 public class cellular inherits Forms Dim Dx8 As DirectX8 Dim D3D As Direct3D8 Dim app As Object = createObject("app") Dim Device As Direct3Ddevice8 Dim apprunning As Boolean Public Function init() As boolean On Error goto errHdl: Dim Dispmode As D3Ddisplaymode,_ Dwindow As D3Dpresent_parameters Dx8=new DirectX8() D3D = Dx8.Direct3Dcreate() 'the rest of the code isn't important reply 1209 to view it 'the code where the problem Revolves D3Ddevice = D3D.createDevice(D3Dadapter_default,D3Dedevtype_hal,D3Dcreate_software_vertexprocessing,D3Dwindow) init()=true Exit Function errhdl: init()=false End Function End Class
Solution 1
Tout d’abord, arrêtez d’utiliser On Error
– utiliser le plus moderne Try ... Catch
plutôt.
Regardez ensuite la définition de la fonction :
IDirect3D9 :: CreateDevice (d3d9.h) – Applications Win32 | Microsoft Apprendre[^]
Ou le tutoriel MS :
IDirect3D9 :: CreateDevice (d3d9.h) – Applications Win32 | Microsoft Apprendre[^]
Il nécessite 6 paramètres, et vous n’en fournissez que 4…
[ad_2]
コメント