Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
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: 8895
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: 8895
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: 8895
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


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
I nuovi iPhone 18 Pro potrebbero present...
Una parte dei Galaxy S26 avrà chi...
Amazon permetterà agli autori ind...
Il caso Zuckerberg a Palo Alto: una scuo...
Texas contro Roblox: il procuratore gene...
Offerte auto da urlo su Amazon: da CarPl...
Windows 11 26H1 in arrivo fra pochi mesi...
Un Black Friday continuo a rilascio lent...
Redmi Pad Pro da 12,1" 2560x2600 pi...
Tesla Roadster rinviata (di nuovo): ora ...
Il nuovo TV premium 2025 Samsung OLED 4K...
Ecco una TV QLED da 55'' che costa 303€:...
Doppia offerta per le soundbar Samsung: ...
Nubia Z80 Ultra con Snapdragon 8 Elite G...
Google Pixel, è svendita di tutti...
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: 16:58.


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