diff --git a/ba/ba1100.cpp b/ba/ba1100.cpp index 3a69fe8e8..079723d70 100755 --- a/ba/ba1100.cpp +++ b/ba/ba1100.cpp @@ -563,8 +563,17 @@ void TManutenzione_app::update_dir() fclose(f); if (size > 0L && d.len() > 0) - { - TLocalisamfile f(i); + { + TBaseisamfile b(i); + int err = b.is_valid(); + if (err == NOERR) + { + TLocalisamfile f(i); + } else + { + if (!yesno_box("Il file %d non puo' essere aperto: errore %d. Continuo?",i,err)) + stop_run(); + } } else { @@ -739,7 +748,16 @@ void TManutenzione_app::convert_dir() prefix().set(pref); if (d.len() > 0) { + TBaseisamfile b(i); const int module = abs((int)d.flags()); + int err = b.is_valid(); + d.get(i, _nolock, _nordir, _sysdirop); + if (i > 2 && err != NOERR && ((is_com && d.is_com()) || (!is_com && d.is_firm()))) + { + if (!yesno_box("Il file %d non puo' essere aperto: errore %d. Continuo?",i,err)) + stop_run(); + else continue; + } TSystemisamfile f(i); f.update(r);