Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724

    [java] errore chiamata funzione tra classi

    ho creato questo metodo con dentro una query e funziona correttamente nella classe OnStageApp.java dove è stato dichiarato. Questa classe ha una propria configurazione di runtime e viene lanciata

    codice:
     public Vector VisEdition(){
        System.out.println("csdsgsd");
     edition=eseguiQuery( "SELECT ID FROM COURSEEDITION;" );
       return edition;}
    poi ho una application (FrameAggDb.java) dove richiamo il metodo sopra in questo modo

    codice:
    OnStageApp osa;
     public Vector VisEdition(){
         edition=osa.VisEdition(); //qui sta lerrore
          return edition;}
    ma se lancio l'application mi da questo errore, perche??

    codice:
    java.lang.NullPointerException
    	at onstage.gui.FrameAggDb.VisEdition(FrameAggDb.java:282)
    	at onstage.gui.FrameAggDb.caricaEl(FrameAggDb.java:286)
    	at onstage.gui.FrameAggDb.<init>(FrameAggDb.java:75)
    	at onstage.gui.AppAggDb.<init>(AppAggDb.java:11)
    	at onstage.gui.AppAggDb.main(AppAggDb.java:41)

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    devi istanziare l'oggetto
    OnStageApp osa;
    public Vector VisEdition() {
    osa = new OnStageApp();
    edition = osa.VisEdition();
    return edition;
    }

  3. #3

    Re: [java] errore chiamata funzione tra classi

    Proprio perche' viene lanciata l'eccezione NullPointerException dovresti capire che stai utilizzando un oggetto che è null(cioè non è stato instanziato). come dovresti sapere gli oggetti si allocano con la new e quindi il codice dove hai l'errore diventa:
    codice:
     OnStageApp osa;
     public Vector VisEdition()
    {
         osa=new OnStageApp();//costruttore che hai definito te con o senza argomenti
         edition=osa.VisEdition(); //qui sta lerrore
         return edition;
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    alla fine ho risolto creando un altro costruttore nella classe OnStageApp con i metodi che mi servivano... lo so che devo istanziare l'oggetto ma non potevo farlo perche la classe OnStageApp contiene i metodi che lanciano la mia applicazione e non potevo averne istanziate 2 contemporaneamente. Quindi avevo pensato che richiamandola solo così si collegasse a quella già istanziata, ma mi sbagliavo...
    Aloa

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 © 2024 vBulletin Solutions, Inc. All rights reserved.