concetriamoci su questo blocco di codice senza pensare al resto
se faccio cosi tutto funziona regolarmente
codice:
if (!wxFile::Exists(wxT("cicciolino.txt")))
{
wxMessageDialog * ciccio = new wxMessageDialog(this,"ATTENZIONE: il file non esiste","Alessioxxx",wxYES);
ciccio->ShowModal();
}
else
{
wxMessageDialog * ciccio = new wxMessageDialog(this,"inizia la lettura","Alessioxxx",wxYES);
ciccio->ShowModal();
}
se la chiamata al metodo ShowModal() la metto una sola volta esterna al IF il compilatore mi da errore dicendo: "ciccio undeclared"
codice:
if (!wxFile::Exists(wxT("cicciolino.txt")))
{
wxMessageDialog * ciccio = new wxMessageDialog(this,"ATTENZIONE: il file non esiste","Alessioxxx",wxYES);
}
else
{
wxMessageDialog * ciccio = new wxMessageDialog(this,"inizia la lettura","Alessioxxx",wxYES);
}
ciccio->ShowModal();
credo sia un problema di visibilita di un oggetto che dichiarato e i all'interno di un blocco if non sia visibile all'esterno giusto?
allora ho pensato di dichiararlo esternamente prima dell'IF
codice:
wxMessageDialog *ciccio = NULL;
if (!wxFile::Exists(wxT("cicciolino.txt")))
{
wxMessageDialog * ciccio = new wxMessageDialog(this,"ATTENZIONE: il file non esiste","Alessioxxx",wxYES);
}
else
{
wxMessageDialog * ciccio = new wxMessageDialog(this,"inizia la lettura","Alessioxxx",wxYES);
}
ciccio->ShowModal();
in questo caso il compilatore non restituisce nessun errore ma il programma si pianta quando lo lancio