Quote:
|
Originariamente inviato da Gatz1980
In ogni caso, non mi è chiaro l'approccio e l'architettura che vuoi usare. Come fai ad invocare un servizio sul controller se è un thread?
|
Dalla VISTA io chiamo il CONTROLLO "somma sti numeri naturali e dammi il risultato". Il CONTROLLO verifica che i numeri passati siano natuali altrimenti genera un'eccezione. Il messaggio contenuto nell'eccezione sollevata ("aò vedi che m'hai dato tutto tranne che numeri naturali") deve essere inviato alla VISTA (che si occupa di visualizzare una Finestra di errore). A questo punto le soluzioni sono 2: o il CONTROLLO chiama direttamente la funzione contenuta in VISTA che fa visualizzare la finestra col messaggio generato dall'eccezione oppure il CONTROLLO invia il messaggio e la VISTA si occupa di chiamare il suo metodo per visualizzarlo. L'eccezione è il modo più corretto di inviare questo messaggio MA il controllo è un thread, e un thread vive nel ciclo di vita del suo unico metodo public void run() il quale non throws nessuna eccezione. Quindi con i thread il tutto si riduce alla soluzione 1 o ad altre ancora più sporche. Ma con il suggerimento di PGI (grazie!) credo che il problema sia risolto. Provo e vi faccio sapere.