From 8b5ed20dd632e61db1438642ef6deb29c4da9f26 Mon Sep 17 00:00:00 2001 From: angelo <angelo@c028cbd2-c16b-5b4b-a496-9718f37d4682> Date: Thu, 18 Jan 1996 18:20:47 +0000 Subject: [PATCH] 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 --- include/isam.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) 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 <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>