Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-06-2005, 15:43   #1
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
DirectInput con directx 9.0

ho letto su msdn che ci sono alcune cose da cambiare per utilizzarle con dx 9.0
bhe io l'ho fatto ma mi dà sempre errore di linkaggio

-Set "#define DIRECTINPUT_VERSION 0x0800" before the include statement for Dinput8.h.
FATTO

-Call DirectInput8Create instead of DirectInputCreateEx.
FATTO

-Link to the Dinput8.lib library instead of Dinput.lib.
come si fa??? è automatico???
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 17:28   #2
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
devi*includere*nelle*opzioni*del*compilatore*dinput8.lib
fai*progetto*tasto*destro*del*mouse*e*scegli*proprietà*vai*nella
sezione*c++*e*clicca*su*input*scrivi*la*lib*dinput8.lib

ciao
okay è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 18:44   #3
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
Quote:
Originariamente inviato da okay
devi*includere*nelle*opzioni*del*compilatore*dinput8.lib
fai*progetto*tasto*destro*del*mouse*e*scegli*proprietà*vai*nella
sezione*c++*e*clicca*su*input*scrivi*la*lib*dinput8.lib

ciao
okay mi sei di grande aiuto grazie.
strano però che non lo spiega dettagliatamente nemmeno sull'msdn.
grazie
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 19:08   #4
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
ops okay non è tutto okay.

mi da quest'errore

Eccezione first-chance a 0x00412b73 in Meshes.exe: 0xC0000005: Violazione di accesso nella lettura del percorso 0x00000000.
Eccezione non gestita a 0x00412b73 in Meshes.exe: 0xC0000005: Violazione di accesso nella lettura del percorso 0x00000000.

il mio codice nel winmain è solo questo
Codice:
HRESULT hr;	        
	hr = DirectInput8Create(hInst, DIRECTINPUT_VERSION, 
						    IID_IDirectInput8, (void**)&g_lpDI, NULL); 
	

	hr = g_lpDI->CreateDevice(GUID_SysKeyboard, &g_lpDIDevice, NULL); 

	if FAILED(hr) 
	{ // DirectInput not available; take appropriate action 
		//DI_Term(); 
        MessageBox(hWnd,"Errore","SCEM !!",MB_OK);
		return FALSE; 
	}
perchè mi da quest'errore in runtime.
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 19:49   #5
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
metti*deibreackpoint*edebugga*perchè*non*posso*certo*capire*cosa*sta*succedendo.
quel*000000000*mi*sembra*il*puntatore*del*device*non*inizializzato*.*posta*più*cpdice*dell'inizializzazione*delle*input*oppure*debugga*e*guarda*quake*è*la*linea*incriminata.
okay è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 19:53   #6
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
eh si ho visto col debug e da errore qua

hr = g_lpDI->CreateDevice(GUID_SysKeyboard, &g_lpDIDevice, NULL);

i puntatori g_lpDI e g_lpDIDevice uaguali a NULL.

che error è ?
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 19:58   #7
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
ah ecco c'è altro

quando arrivo a sta linea di codice

Codice:
hr = DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, 
						    IID_IDirectInput8, (void**)&g_lpDI, NULL);
mi dice nella finestra di debug
che hr 0x8007047e Il programma specificato richiede una versione più aggiornata di Windows. HRESULT


che significa??
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 20:13   #8
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
LPDIRECTINPUT8 g_lpDI=NULL;
LPDIRECTINPUTDEVICE8 m_pKeyboard=NULL;




DirectInput8Create(hInst, DIRECTINPUT_VERSION,
IID_IDirectInput8, (void**)&g_lpDI, NULL)


g_lpDI->CreateDevice(GUID_SysKeyboard, &m_pKeyboard, NULL)

metti un breackpoint dopo queste istruzioni e vedi se questi breack point sono passati vedi dove è che si blocca

la dichiarazione l'hai fatta?
okay è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 20:49   #9
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
fatto okay ma mi da sempre quell'errore. ti sposto uno screen


???
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2005, 22:44   #10
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Certo che meno male che hai messo uno shoot se no mi mandavi al manicomio pure a me................... ma che faì!!!!!!!!!!

Non devi mai inizializzare le input e quantaltro prima che venga creato il device delle directx.

tutte le inizializzazioni di input sound e quantaltro le devi fare solo dopo che è stato inizializzato il pd3Device delle directx nel tuo caso delle 9.
Trova il punto di questa inizializzzazione e tienilo sempre a mente (lo devi avere nelle Common in DXUT.cpp le righe sono:
pD3D = DXUT_Dynamic_Direct3DCreate9( D3D_SDK_VERSION );
GetDXUTState().SetD3D( pD3D );
) questo è un errore gravissimo proprio da principiante che non ha letto un bel niente e fà solo copia & incolla.

mannaggia............mannaggia!!!!!

l'inizializzazione delle input e quantaltro falla in InitGame() che già c'è di default oppure in un'altra void tua ma sempre dopo l'inizializzazione del devide delle dx.

ciao
okay è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 15:51   #11
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
wela okay.
infatti ci avevo pensato e ho fatto come hai detto te guarda:


il mio winmain
Codice:
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
    // Register the window class
    WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L, 
                      GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
                      "D3D Tutorial", NULL };
    RegisterClassEx( &wc );

    // Create the application's window
    HWND hWnd = CreateWindow( "D3D Tutorial", "D3D Tutorial 06: Meshes", 
                              WS_OVERLAPPEDWINDOW, 100, 100, 300, 300,
                              GetDesktopWindow(), NULL, wc.hInstance, NULL );
    
	// Initialize Direct3D
    if( SUCCEEDED( InitD3D( hWnd ) ) )
    { 
		CreateKeyboard(hWnd);
        // Create the scene geometry
        if( SUCCEEDED( InitGeometry() ) )
        {
            // Show the window
            ShowWindow( hWnd, SW_SHOWDEFAULT );
            UpdateWindow( hWnd );

            // Enter the message loop
            MSG msg; 
            ZeroMemory( &msg, sizeof(msg) );
            while( msg.message!=WM_QUIT )
            {
                if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
                {
                    TranslateMessage( &msg );
                    DispatchMessage( &msg );
                }
                else
                    Render();
				    ProcessKBInput();
            }
        }
    }

    UnregisterClass( "D3D Tutorial", wc.hInstance );
    return 0;
}
se va bene l'inizializzazione 3d cioè richiamando
Codice:
HRESULT InitD3D( HWND hWnd )
{
    // Create the D3D object.
    if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
        return E_FAIL;

    // Set up the structure used to create the D3DDevice. Since we are now
    // using more complex geometry, we will create a device with a zbuffer.
    D3DPRESENT_PARAMETERS d3dpp; 
    ZeroMemory( &d3dpp, sizeof(d3dpp) );
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
    d3dpp.EnableAutoDepthStencil = TRUE;
    d3dpp.AutoDepthStencilFormat = D3DFMT_D16;

    // Create the D3DDevice
    if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                                      D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                      &d3dpp, &g_pd3dDevice ) ) )
    {
        return E_FAIL;
    }

    // Turn on the zbuffer
    g_pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );

    // Turn on ambient lighting 
    g_pd3dDevice->SetRenderState( D3DRS_AMBIENT, 0xffffffff );

    return S_OK;
}
allora inizializzo l'input da tastiera richimando CreateKeyborad() cioè
Codice:
HRESULT CreateKeyboard( HWND hWnd )
{
	HRESULT hr;
    // Create a DInput object
    hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION, 
                                         IID_IDirectInput8, (VOID**)&g_lpDI, NULL ); 
    
    hr = g_lpDI->CreateDevice( GUID_SysKeyboard, &m_pKeyboard, NULL );
       
    hr = m_pKeyboard->SetDataFormat( &c_dfDIKeyboard );
      
    hr = m_pKeyboard->SetCooperativeLevel( hWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE );

    m_pKeyboard->Acquire();


    return S_OK;
}
ma da sempre lo stesso errore.
che sbaglio?????

p.s. cmq grazie del principiante se non lo sono io
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 16:32   #12
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
è tutto okay

Ultima modifica di okay : 14-06-2005 alle 16:36.
okay è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 19:08   #13
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
Quote:
Originariamente inviato da okay
è tutto okay
no.
mi da sempre quell'errore
se non ti da fastidio posso mandartelo per e-mail tutto il progetto così vedi l'errore sto impazzendo.
grazie cmq della mano che mi hai dato.

p.s. mandami l'email per pm.
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 19:13   #14
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
non ho visto il codice non ho voglia di vederlo cmq accedi in una posizione di memoria in cui NON devi accedere controlla cmq i valori che passi se sono corretti o meno

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 19:15   #15
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
per caso il valore di hr che utilizzi come ritorno dalla prima lo utilizzi anche nella seconda funzione?? non si vede ce sta la finestra di errore.
Cmq controlla che anche nella prima non ti dia errore.

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 19:36   #16
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
Quote:
Originariamente inviato da Fenomeno85
per caso il valore di hr che utilizzi come ritorno dalla prima lo utilizzi anche nella seconda funzione?? non si vede ce sta la finestra di errore.
Cmq controlla che anche nella prima non ti dia errore.

~§~ Sempre E Solo Lei ~§~
alla fine hr è una variabile hresult che ti serve per vedere se le varie inizializzazione sono andate a buon fine.

anche facendo così

Codice:
VOID CreateKeyboard( HWND hWnd )
{   
	// Create a DInput object
    DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION, 
                                         IID_IDirectInput8, (VOID**)&g_lpDI, NULL ); 
    
    g_lpDI->CreateDevice(GUID_SysKeyboard, &m_pKeyboard, NULL);
       
    m_pKeyboard->SetDataFormat( &c_dfDIKeyboard );
      
    m_pKeyboard->SetCooperativeLevel( hWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE );

    m_pKeyboard->Acquire();

}
nada
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 19:37   #17
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
cmq il problema è in questa linea qui

Codice:
g_lpDI->CreateDevice(GUID_SysKeyboard, &m_pKeyboard, NULL);
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 20:22   #18
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
guardate qua


è come se non fosse inizializzato g_lpDI che è messo a 0.


che succede???
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 21:30   #19
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
Codice:
if(FAILED(DirectInput8Create(hInst, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&m_pDirectInput, NULL))) 
  exit (-1);
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso

Ultima modifica di Fenomeno85 : 14-06-2005 alle 21:37.
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 21:44   #20
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
infatti provato.
ho cambiato la funzione che crea il dispositivo così

Codice:
HRESULT CreateKeyboard( HWND hWnd )
{   
	HRESULT hr;
	// Create a DInput object
    if (FAILED(hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION, 
                                         IID_IDirectInput8, (VOID**)&g_lpDI, NULL )))
		return hr;
    
	if(FAILED(hr = g_lpDI->CreateDevice(GUID_SysKeyboard , &m_pKeyboard, NULL)))
		return hr;
      
    if(FAILED(hr = m_pKeyboard->SetDataFormat( &c_dfDIKeyboard )))
		return hr;
      
    hr = m_pKeyboard->SetCooperativeLevel( hWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE );
	
	if( FAILED(hr) )
        return hr;
	
	m_pKeyboard->Acquire();

	return S_OK;
}
e infatti quando debuggo mi da errore qua



che non ho capito cosa ca@@o è: c'è bisogno di una versione di windows più aggiornata bhaa.

se vuoi ti posso anche mandare il prog completo così spacchi tutto anche te
il cast ci vuole perchè
Codice:
LPDIRECTINPUT8	g_lpDI	=NULL;
è la funzione come hai visto accetta solo lpvoid.
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
Le analisi di ALMA sulla cometa interste...
La missione cinese Tianwen-3 per portare...
Un satellite di HEO Space ha catturato u...
Mini LED 144Hz a prezzo folle: questo Hi...
Novità per Fortinet: arrivano For...
Volkswagen e Xpeng, il SUV è real...
Volkswagen ribattezza ID.3 e le dà un mo...
Aruba rende disponibile VMware Hosted Pr...
Questa Olympus da 20 MP con stabilizzazi...
Il nuovo dispositivo di Rabbit si chiama...
'Se avete RAM, siamo pronti ad acquistar...
Veeam corregge diverse vulnerabilit&agra...
MacBook Neo segna una svolta per Apple: ...
Polestar pubblica il report LCA di Poles...
Il rame non basta più: NVIDIA, AM...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v