Patch level : 10.0
Files correlati : ba0.exe Ricompilazione Demo : [ ] Commento : Migliorato tempo di attesa tra il rilascio del dongle locale ed il lancio di una applicazione da menu git-svn-id: svn://10.65.10.50/branches/R_10_00@21621 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
550dfdeed4
commit
aeccb0f86d
@ -88,15 +88,15 @@ long TExternal_app::run(
|
||||
|
||||
if (!async && utente)
|
||||
{
|
||||
if (dongle().local()) // Rilascio la chiave il prima possibile
|
||||
dongle().logout();
|
||||
|
||||
close_all = _path.starts_with("ba1 -0") && prefix_valid();
|
||||
if (close_all) //se lancia la gestione archivi forza la chiusura dei files e pure dei tracciati!
|
||||
prefix().set("");
|
||||
else
|
||||
safely_close_closeable_isamfiles();
|
||||
|
||||
if (dongle().local())
|
||||
dongle().logout();
|
||||
|
||||
// Programma normale (non menu) che chiama "collega"
|
||||
if (iconize && is_outlook_menu_chain())
|
||||
{
|
||||
|
@ -289,7 +289,7 @@ HIDDEN int find_tabapp(TConfig& cfg, void* jolly)
|
||||
if (info._relapp.not_empty())
|
||||
return 2;
|
||||
}
|
||||
if (cfg.exist(info._var3))
|
||||
if (info._var3.full() && cfg.exist(info._var3))
|
||||
{
|
||||
info._relapp = cfg.get(info._var3);
|
||||
if (info._relapp.not_empty())
|
||||
@ -299,14 +299,14 @@ HIDDEN int find_tabapp(TConfig& cfg, void* jolly)
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool get_tabapp(const char * tabname, TString& app)
|
||||
bool get_tabapp(const char* tabname, TString& app)
|
||||
{
|
||||
TConfig ini(CONFIG_GENERAL);
|
||||
TConfig ini(CONFIG_GENERAL, "Main");
|
||||
TCallbackTableinfo fi;
|
||||
TTable t(tabname);
|
||||
fi._var1.format("Edit_%s", t.name());
|
||||
fi._var2.format("Edit_%d", t.num());
|
||||
fi._var2.format("Edit_%d", t.num() == LF_TABCOM ? LF_TAB : LF_TABCOM);
|
||||
fi._var3.format("Edit_%d", t.num() == LF_TABCOM ? LF_TAB : LF_TABCOM);
|
||||
fi._module = t.module();
|
||||
ini.for_each_paragraph(find_tabapp, &fi);
|
||||
|
||||
@ -317,11 +317,11 @@ bool get_tabapp(const char * tabname, TString& app)
|
||||
if (app.empty())
|
||||
{
|
||||
app = "ba3 -0";
|
||||
if (fi._module.compare("ba", 2, TRUE) != 0)
|
||||
if (!fi._module.starts_with("ba")) // Compatibility mode :-(
|
||||
{
|
||||
TConfig c(CONFIG_STUDIO, fi._module);
|
||||
if (c.exist("TabPrg"))
|
||||
app = c.get("TabPrg");
|
||||
const TString& tp = ini_get_string(CONFIG_STUDIO, fi._module, "TabPrg");
|
||||
if (tp.full())
|
||||
app = tp;
|
||||
}
|
||||
}
|
||||
app << ' ' << tabname;
|
||||
@ -3963,9 +3963,9 @@ bool TRectype::edit(int logicnum, const char* alternate_key_fields, const char*
|
||||
r.settab(_tab);
|
||||
|
||||
TString app = hint;
|
||||
if (app.empty())
|
||||
if (app.blank())
|
||||
r.get_relapp(app);
|
||||
if (app.not_empty())
|
||||
if (app.full())
|
||||
{
|
||||
const RecDes& recd = r.rec_des(); // Descrizione del record della testata
|
||||
const KeyDes& kd = recd.Ky[0]; // Elenco dei campi della chiave 1
|
||||
@ -3981,11 +3981,11 @@ bool TRectype::edit(int logicnum, const char* alternate_key_fields, const char*
|
||||
if (key_fields.empty_items())
|
||||
key_fields = key_labels;
|
||||
|
||||
TFilename ininame; ininame.temp();
|
||||
TFilename ininame; ininame.temp("lnk", "ini");
|
||||
{
|
||||
TConfig ini(ininame, "Transaction");
|
||||
ini.set("Action", "LINK");
|
||||
TString16 p; p << logicnum;
|
||||
TString8 p; p << logicnum;
|
||||
ini.set_paragraph(p);
|
||||
|
||||
FOR_EACH_TOKEN(key_labels, tok)
|
||||
|
@ -168,7 +168,7 @@ public:
|
||||
// @cmember Ritorna l'identificatore della classe maschera
|
||||
virtual word class_id() const;
|
||||
|
||||
// @cmember Ritorna TRUE se la maschera deriva dalla classe <p c>
|
||||
// @cmember Ritorna true se la maschera deriva dalla classe <p c>
|
||||
virtual bool is_kind_of(word c) const;
|
||||
|
||||
// @cmember Ritorna il numero della pagina corrente
|
||||
@ -240,13 +240,13 @@ public:
|
||||
void set_focus_field(short id);
|
||||
virtual void notify_focus_field(short id);
|
||||
|
||||
// @cmember Controlla i campi di una maschera (TRUE se tutti validi)
|
||||
// @cmember Controlla i campi di una maschera (true se tutti validi)
|
||||
bool check_fields();
|
||||
// @cmember Esegue il check e i messaggi sul campo <p fld_id> della maschera
|
||||
virtual void check_field( short fld_id );
|
||||
// @cmember Forza la chiusura della maschera
|
||||
virtual bool stop_run(KEY key);
|
||||
// @cmember Controlla se la maschera puo' essere chiusa (TRUE se puo' esserlo)
|
||||
// @cmember Controlla se la maschera puo' essere chiusa (true se puo' esserlo)
|
||||
virtual bool can_be_closed() const;
|
||||
|
||||
// @cmember Permette di aprire una maschera
|
||||
@ -254,7 +254,7 @@ public:
|
||||
// @cmember Permette di chiudere una maschera
|
||||
virtual void close();
|
||||
// @cmember Permette di attivare/disattivare tutta la pagina
|
||||
virtual void activate(bool on = TRUE);
|
||||
virtual void activate(bool on = true);
|
||||
virtual void set_focus();
|
||||
|
||||
// @cmember Converte un identificatore di campo nella sua posizione
|
||||
@ -333,7 +333,7 @@ public:
|
||||
virtual void on_firm_change();
|
||||
|
||||
// @cmember Abilita/disabilita un campo
|
||||
virtual void enable(short fld_id, bool on = TRUE);
|
||||
virtual void enable(short fld_id, bool on = true);
|
||||
// @cmember Disabilita un campo (chiama <mf TMask::enable>)
|
||||
void disable(short fld_id)
|
||||
{ enable(fld_id, false); }
|
||||
@ -347,24 +347,24 @@ public:
|
||||
// @cmember Disabilita una pagina e tutte le successive (chiama <mf TMask::enable_page>)
|
||||
void disable_page(byte p)
|
||||
{ enable_page(p, false); }
|
||||
// @cmember Controlla se una pagina e' disabilitata (TRUE se disabilitata)
|
||||
// @cmember Controlla se una pagina e' disabilitata (true se disabilitata)
|
||||
bool page_enabled(byte p) const;
|
||||
|
||||
// @cmember Ritorna il numero di chiavi utilizzate nei campi della maschera
|
||||
word num_keys() const;
|
||||
// @cmember Abilita/disabilita i campi di una chiave sulla maschera
|
||||
void enable_key(word key, bool on = TRUE);
|
||||
void enable_key(word key, bool on = true);
|
||||
// @cmember Disabilita i campi di una chiave sulla maschera (chiama <mf TMask::enable_key>)
|
||||
void disable_key(word key)
|
||||
{ enable_key(key, false); }
|
||||
// @cmember Ritorna il l'identificatore di un campo della chiave <p key>
|
||||
TEditable_field* get_key_field(word key, bool first) const;
|
||||
// @cmember Controlla se la chiave <p key> ha un valore significativo
|
||||
// (TRUE se il valore e' valido)
|
||||
// (true se il valore e' valido)
|
||||
bool key_valid(word key) const;
|
||||
|
||||
// @cmember Permette di mostrare/nascondere un campo (chiama <mf TMask_field::show>)
|
||||
virtual void show(short fld_id = -1, bool on = TRUE);
|
||||
virtual void show(short fld_id = -1, bool on = true);
|
||||
// @cmember Permette di nascondere un campo (chiama <mf TMask::show>)
|
||||
void hide(short fld_id = 0)
|
||||
{ show(fld_id, false); }
|
||||
@ -402,7 +402,7 @@ public:
|
||||
// @cmember Salva il profilo <p num>
|
||||
int save_profile(int num = 0, const char* desc = NULL) const;
|
||||
// @cmember Carica il profilo <p num>
|
||||
int load_profile(int num = 0, bool reset = TRUE);
|
||||
int load_profile(int num = 0, bool reset = true);
|
||||
// @cmember Elimina il profilo <p num>
|
||||
bool kill_profile(int num);
|
||||
|
||||
@ -413,27 +413,26 @@ public:
|
||||
short dirty() const;
|
||||
|
||||
// @cmember Setta lo sheet di cui la maschera gestisce le righe
|
||||
void set_sheet(TSheet_field* s)
|
||||
{ _sheet = s; }
|
||||
void set_sheet(TSheet_field* s) { _sheet = s; }
|
||||
|
||||
// @cmember Ritorna lo sheet che gestisce la maschera
|
||||
TSheet_field* get_sheet() const
|
||||
{ return _sheet; }
|
||||
|
||||
// @cmember Ritorna se la maschera e' contenuta in uno sheet (TRUE se contenuta)
|
||||
// @cmember Ritorna se la maschera e' contenuta in uno sheet (true se contenuta)
|
||||
bool is_sheetmask() const
|
||||
{ return _sheet != NULL; }
|
||||
|
||||
// @cmember Ritorna TRUE se la maschera non ha modalita' di utilizzo (vedi <t TMaskmode>)
|
||||
// @cmember Ritorna true se la maschera non ha modalita' di utilizzo (vedi <t TMaskmode>)
|
||||
bool no_mode() const
|
||||
{ return _mode == NO_MODE; }
|
||||
// @cmember Ritorna TRUE se la maschera e' in modalita' di richiesta (vedi <t TMaskmode>)
|
||||
// @cmember Ritorna true se la maschera e' in modalita' di richiesta (vedi <t TMaskmode>)
|
||||
bool query_mode() const
|
||||
{ return _mode == MODE_QUERY || _mode == MODE_QUERYINS; }
|
||||
// @cmember Ritorna TRUE se la maschera e' in modalita' di modifica (vedi <t TMaskmode>)
|
||||
// @cmember Ritorna true se la maschera e' in modalita' di modifica (vedi <t TMaskmode>)
|
||||
bool edit_mode() const
|
||||
{ return _mode == MODE_MOD; }
|
||||
// @cmember Ritorna TRUE se la maschera e' in modalita' di inserimento (vedi <t TMaskmode>)
|
||||
// @cmember Ritorna true se la maschera e' in modalita' di inserimento (vedi <t TMaskmode>)
|
||||
bool insert_mode() const
|
||||
{ return _mode == MODE_QUERYINS || _mode == MODE_INS; }
|
||||
|
||||
|
@ -1394,17 +1394,17 @@ const TFilename& TFilename::temp(
|
||||
mask.ext(extension);
|
||||
|
||||
const int star = mask.find('*');
|
||||
|
||||
CHECK(star>=0, "Invalid temp file mask");
|
||||
TString_array list;
|
||||
const int count = list_files(mask, list);
|
||||
|
||||
if (count > 0)
|
||||
{
|
||||
for (int i = 0; i < count; i++)
|
||||
FOR_EACH_ARRAY_ROW(list, i, row)
|
||||
{
|
||||
const char* name = (const char*)list.row(i) + star;
|
||||
const char* name = row->mid(star);
|
||||
const long numero = atol(name) + 1;
|
||||
mask.cut(star);
|
||||
mask = row->left(star);
|
||||
mask << numero;
|
||||
mask.ext(extension);
|
||||
if (list.find(mask) < 0)
|
||||
|
@ -144,16 +144,13 @@ void TTable::load_module_description()
|
||||
// cerca se esiste il file ??<TAB_NAME>.MSK tramite la funzione list_files(),
|
||||
// ne estrae il module dai primi 2 caratteri e la descrizione dalla intestazione
|
||||
// della prima pagina.
|
||||
_des_mod_loaded = TRUE;
|
||||
_des_mod_loaded = true;
|
||||
TFilename n;
|
||||
n << "recdesc/d" << _tabname;
|
||||
n.ext("des");
|
||||
n.lower();
|
||||
if (n.exist())
|
||||
{
|
||||
TConfig des(n, "TabDescr");
|
||||
_module = des.get("Module");
|
||||
}
|
||||
_module = ini_get_string(n, "TabDescr", "Module");
|
||||
n = "??tb";
|
||||
n << _tabname;
|
||||
n.ext("msk");
|
||||
|
@ -665,7 +665,7 @@ HIDDEN bool _strcalc_val(TMask_field& f, KEY k)
|
||||
|
||||
HIDDEN bool _onereq_val(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k != K_ENTER|| f.mask().mode() == MODE_QUERY)
|
||||
if (k != K_ENTER || f.mask().mode() == MODE_QUERY)
|
||||
return true;
|
||||
|
||||
const int nparms = get_val_param_count();
|
||||
|
Loading…
x
Reference in New Issue
Block a user