Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310

    [c++]Violazione di accesso nella lettura del percorso

    salve a tutti,
    la mia applicazione mi da l'eccezione riportata nell'oggetto e non riesco a capire il perchè, magari posto un pò di codice così riesco ad essere più chiara
    ho dichiarato il seguente array

    codice:
    const char *texCubeFaces[3] =  {"pippo.jpg",							"pluto.jpg",
    	        "paperino.bmp"};
    che viene richiamato nella funzione seguente
    codice:
    int Cartone::loadCubeTexture(const char **texCubeFaces){
    ....
    for(int i = 0; i < 3; i++)
    	{        
    		// Otteniamo il formato dell'immagine
    		FREE_IMAGE_FORMAT fifmt = FreeImage_GetFileType(texCubeFaces[i], 0);
    		// Carichiamo l'immagine
    		FIBITMAP *dib = FreeImage_Load(fifmt, texCubeFaces[i], 0);
    		// L'immagine è convertita nel formato GL_RGB
    		dib = FreeImage_ConvertTo24Bits(dib);
    ....
    }
    ma si verifica l'eccezione quando entro nel for e se eseguo in debug posizionandomi si texCubeFaces[i] mi si dice puntatore non valido ma non riesco a capire il perchè in quanto mi sembra tutto inizializzato!!!

    grazie a tutti per la disponibilità

    maria

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Dipende da come chiami la funzione membro e da cosa fai prima della for ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    allora la funzione membro viene richiamata nel costruttore in questo modo:
    codice:
    Cartone::Cartone(){
    	idTexturesCartone = loadCubeTexture(texCubeMap);
    }
    e nel for deve solo caricare le varie immagini solo che si blocca prima di fare ciò....

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da cerza
    allora la funzione membro viene richiamata nel costruttore in questo modo:
    codice:
    Cartone::Cartone(){
    	idTexturesCartone = loadCubeTexture(texCubeMap);
    }
    E texCubeMap?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    scusami erano sempre le solite prove... praticamente quel texCubeMap è texCubeFaces gli avevo solo cambiato nome.
    grazie per l'aiuto

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nel codice

    codice:
    int Cartone::loadCubeTexture(const char **texCubeFaces){
    ....  <---- ?
    for(int i = 0; i < 3; i++)
    	{        
    		// Otteniamo il formato dell'immagine
    		FREE_IMAGE_FORMAT fifmt = FreeImage_GetFileType(texCubeFaces[i], 0);
    		// Carichiamo l'immagine
    		FIBITMAP *dib = FreeImage_Load(fifmt, texCubeFaces[i], 0);
    		// L'immagine è convertita nel formato GL_RGB
    		dib = FreeImage_ConvertTo24Bits(dib);
    ....
    }
    cosa c'è al posto dei primi puntini, dove ho messo il ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    ciao dove ci sono ..... c'è del codic eche non richiamana neanche lontamente il puntatore texCubeFaces!

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da cerza
    ... neanche lontamente il puntatore texCubeFaces!
    Questo lo pensi tu, ma potrebbe influire ... se ce lo mostri ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    ho risolto, grazie.
    non dipendeva dalla funzione ma da come venivano richiamate le texture!

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Come ti dicevo, ci sono tante cose che possono influire ... basta sbagliare qualcosa e "sporcare" la memoria che segue in cui ci sono valori che in seguito non trovi più ...

    Quando ci sono problemi di questo genere, vanno fornite tutte le indicazioni del caso, anche quelle che si ritengono poco utili ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.