Differenzazione messaggio d'errore in caso di lock esclusivo

del file o file non esistente.


git-svn-id: svn://10.65.10.50/trunk@2472 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-01-18 18:20:47 +00:00
parent a965a36900
commit 8b5ed20dd6

View File

@ -1226,9 +1226,21 @@ int TBaseisamfile::_open(
} }
else else
{ {
TString e_msg;
_lasterr = get_error(filehnd()->fhnd); _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); relisfd(_isamfile);
fatal_box("Il file %d non puo' essere aperto, errore %d",num(),_lasterr); fatal_box((const char*) e_msg);
} }
return (_lasterr); return (_lasterr);
} }
@ -1751,7 +1763,7 @@ bool TSystemisamfile::getlcf(
long flev) // @parm livello archivi di partenza della convesione long flev) // @parm livello archivi di partenza della convesione
// @comm Recupera le conversioni logiche da effettuare sul file per per passare dal // @comm Recupera le conversioni logiche da effettuare sul file per per passare dal
// livello archivi <p flev> a quello attuale degli archivi standard. // livello archivi <p flev> a quello attuale degli archivi standard.
{ {
_flds.destroy(); _flds.destroy();
@ -2033,7 +2045,7 @@ int TSystemisamfile::load(
bool extended) // @parm Indica se interpretare alcune stringhe come macro (default FALSE) bool extended) // @parm Indica se interpretare alcune stringhe come macro (default FALSE)
// @comm Se <p extended> e' TRUE e trova alcune stringhe col formato %stringa% (es. %frm%) // @comm Se <p extended> 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 <mf TSystemisamfile::dump> // @xref <mf TSystemisamfile::dump>