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
{
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 <p flev> a quello attuale degli archivi standard.
// livello archivi <p flev> 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 <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>