From d7fa3fbacef4bec96a1fe986c19449ded34a6af5 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 23 Jun 2008 14:01:03 +0000 Subject: [PATCH] Patch level : 10.0 72 Files correlati : ba1.exe Ricompilazione Demo : [ ] Commento : Corretta la conversione di multirel git-svn-id: svn://10.65.10.50/trunk@16798 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba1100.cpp | 6 ++++-- include/files.h | 3 +++ include/prefix.cpp | 5 +++++ include/prefix.h | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ba/ba1100.cpp b/ba/ba1100.cpp index 3d15e2ff2..f33dfc993 100755 --- a/ba/ba1100.cpp +++ b/ba/ba1100.cpp @@ -1025,11 +1025,13 @@ void TManutenzione_app::update_dir() wdd.set_eox(wds.eox()); wdd.set_len(wrd.len()); wdd.put(j, _nordir, _sysdirop); + prefix().destroy_info(j); wds.set(ds.name(), 0L, 0L, ds.des(), ds.expr()); wds.set_eox(0L); wds.set_len(0); wds.put(i, _nordir, _sysdirop); + prefix().destroy_info(i); found = true; } } @@ -1182,8 +1184,6 @@ void TManutenzione_app::convert_dir() for (int i = LF_USER; i <= update_items; i++) { - p.addstatus(1); - const TTrec & rs = (const TTrec &) _recs[i]; const TDir & ds = (const TDir &) _dirs[i]; const long flags = ds.flags(); @@ -1278,6 +1278,8 @@ void TManutenzione_app::convert_dir() d.put(i, _nordir, _sysdirop); r.put(i); } //else di if(ds.len()>0... + p.addstatus(1); + } //for (int i = 2; i <= update_items... d.get(LF_DIR, _nolock, _nordir, _sysdirop); diff --git a/include/files.h b/include/files.h index 31fd3069b..e567cd2d9 100755 --- a/include/files.h +++ b/include/files.h @@ -217,6 +217,9 @@ public: // @cmember Ritorna il numero del file int num() const { return _num;} + // @cmember Cambia il numero del file + void set_num(int num) + {_num = num;} // @cmember Ritorna il numero del campo

int field(const char* fieldname) const; // @cmember Ritorna il descrittore del tracciato record diff --git a/include/prefix.cpp b/include/prefix.cpp index 2678a676a..ccb5a1fa7 100755 --- a/include/prefix.cpp +++ b/include/prefix.cpp @@ -712,6 +712,11 @@ int TFile_manager::close(TIsam_handle& name) name = 0; return err; } +void TFile_manager::destroy_info(int logicnum) +{ + _fileinfo.destroy(logicnum); + _recinfo.destroy(logicnum); +} TCodeb_handle TFile_manager::get_handle(TIsam_handle name, int key) { diff --git a/include/prefix.h b/include/prefix.h index 7772d4173..69d1f453a 100755 --- a/include/prefix.h +++ b/include/prefix.h @@ -34,6 +34,7 @@ protected: public: TIsam_handle open(int& logicnum, TFilename& name, bool excl, bool idx); int close(TIsam_handle& name); + void destroy_info(int logicnum); void lock_record(TIsam_handle num, TRecnotype rec); void unlock_record(TIsam_handle num, TRecnotype rec); @@ -215,6 +216,9 @@ public: long last_change(TIsam_handle name) const { return _manager.last_change(name); } + void destroy_info(int logicnum) + { _manager.destroy_info(logicnum); } + const TFirm& firm(); // @cmember Costruttore