diff --git a/include/isam.cpp b/include/isam.cpp index e88e860f9..2cd3c30da 100755 --- a/include/isam.cpp +++ b/include/isam.cpp @@ -1226,9 +1226,21 @@ int TBaseisamfile::_open( } else { + TString e_msg; _lasterr = get_error(filehnd()->fhnd); + if (_lasterr == -60) + { + int rc = access(filename(),0); // check for existance + if (rc!=0) + e_msg.format("Il file %d(%s) non esiste, errore %d",num(),filename(),_lasterr); + else + e_msg.format("Il file %d(%s) e' aperto in modo esclusivo da un'altra applicazione", + num(), filename(),_lasterr); + } + if (e_msg.empty()) + e_msg.format("Il file %d(%s) non puo' essere aperto, errore %d",num(),filename(),_lasterr); relisfd(_isamfile); - fatal_box("Il file %d non puo' essere aperto, errore %d",num(),_lasterr); + fatal_box((const char*) e_msg); } return (_lasterr); } @@ -1751,7 +1763,7 @@ bool TSystemisamfile::getlcf( long flev) // @parm livello archivi di partenza della convesione // @comm Recupera le conversioni logiche da effettuare sul file per per passare dal -// livello archivi

a quello attuale degli archivi standard. +// livello archivi

a quello attuale degli archivi standard. { _flds.destroy(); @@ -2033,7 +2045,7 @@ int TSystemisamfile::load( bool extended) // @parm Indica se interpretare alcune stringhe come macro (default FALSE) // @comm Se

e' TRUE e trova alcune stringhe col formato %stringa% (es. %frm%) -// ne sostituisce i valori (es. ditta corrente). +// ne sostituisce i valori (es. ditta corrente). // @xref