Aggiunto controllo sulla scrittura dei memo in ::write, ::delete,

::rewriteat e ::rewrite. Il controllo aggiunto riguarda il test di
_lasterr, per evitare CHECK Maialeschi.


git-svn-id: svn://10.65.10.50/trunk@2584 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-02-08 17:53:36 +00:00
parent aeff220d55
commit 1df10c5463

View File

@ -940,7 +940,7 @@ int TBaseisamfile::write(TDate& atdate)
if (_lasterr != NOERR) _lasterr = get_error(_lasterr);
setkey(oldkey);
_recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);
if( has_memo( ) )
if( _lasterr == NOERR && has_memo( ) )
{
curr( ).memo_info( ).recno( _recno );
curr( ).write_memo_info( _isamfile);
@ -964,7 +964,7 @@ int TBaseisamfile::write(const TRectype& rec, TDate& atdate)
if (_lasterr != NOERR) _lasterr = get_error(_lasterr);
setkey(oldkey);
_recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);
if (_lasterr != NOERR )
if (_lasterr == NOERR )
{
if( has_memo( ) )
{
@ -992,7 +992,7 @@ int TBaseisamfile::rewrite(TDate& atdate)
_lasterr = DB_rewrite(_isamfile->fhnd);
if (_lasterr != NOERR) _lasterr = get_error(_lasterr);
_recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);
if( has_memo( ) )
if( _lasterr == NOERR && has_memo( ) )
{
curr( ).memo_info( ).recno( _recno );
curr( ).write_memo_info( _isamfile );
@ -1017,7 +1017,7 @@ int TBaseisamfile::rewrite(const TRectype& rec, TDate& atdate)
_lasterr = DB_rewrite(_isamfile->fhnd);
if (_lasterr != NOERR) _lasterr = get_error(_lasterr);
_recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);
if( has_memo( ) )
if( _lasterr == NOERR && has_memo( ) )
{
rec.memo_info( ).recno( _recno );
rec.write_memo_info( _isamfile );
@ -1040,7 +1040,7 @@ int TBaseisamfile::rewriteat(TRecnotype nrec)
} else
_lasterr = get_error(_lasterr);
_recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);
if( has_memo( ) )
if( _lasterr == NOERR && has_memo( ) )
{
curr( ).memo_info( ).recno( _recno );
curr( ).write_memo_info( _isamfile );
@ -1061,7 +1061,7 @@ int TBaseisamfile::rewriteat(const TRectype& rec, TRecnotype nrec)
} else
_lasterr = get_error(_lasterr);
_recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);
if( has_memo( ) )
if( _lasterr == NOERR && has_memo( ) )
{
rec.memo_info( ).recno( _recno );
rec.write_memo_info( _isamfile );
@ -1111,7 +1111,7 @@ int TBaseisamfile::remove(TDate& atdate)
}
}
}
if(has_memo())
if(_lasterr == NOERR && has_memo())
curr().memo_info().recno(RECORD_NON_FISICO);
_recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);
@ -1141,7 +1141,7 @@ int TBaseisamfile::remove(const TRectype& rec, TDate& atdate)
}
}
if(has_memo())
if(_lasterr == NOERR && has_memo())
curr().memo_info().recno(RECORD_NON_FISICO);
_recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);