From dc756c6efba45ea5b7a2ee284e0b63dd89c6fccb Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 16 Sep 2008 09:08:48 +0000 Subject: [PATCH] Patch level : 10.0 Files correlati : lv?.exe Ricompilazione Demo : [ ] Commento : Corretta getione cache su tabelle di modulo git-svn-id: svn://10.65.10.50/trunk@17250 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/recarray.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/include/recarray.cpp b/include/recarray.cpp index 2ec2e0266..ca0dcee7f 100755 --- a/include/recarray.cpp +++ b/include/recarray.cpp @@ -795,27 +795,29 @@ TRecord_cache& TDB_cache::rec_cache(int file) int TDB_cache::build_table_key(const char* table, const char* key, TToken_string& k) const { CHECK(table && *table, "Invalid Table code"); + TString16 tablename = table; // Attenzione posso avere tabelle di modulo come &PC000883BAR int file = LF_TAB; k.cut(0); if (!isalnum(*table)) // gestisco i casi come %IVA e &AUT { + tablename.ltrim(1); // toglie carattere speciale switch (*table) { - case '%': file = LF_TABCOM; table++; break; - case '^': file = LF_TABGEN; table++; break; + case '%': file = LF_TABCOM; break; + case '^': file = LF_TABGEN; break; case '&': file = LF_TABMOD; { const TModule_table mt(table); k = mt.module(); k.add(mt.customer()); - table = mt.name(); + tablename = mt.name(); } break; case '$': - default : file = LF_TAB; table++; break; + default : file = LF_TAB; break; } } - k.add(table); + k.add(tablename); k.add(key); return file; }