From 91f50e6968acaaf392a5d5f01f099e7930d4f23d Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 1 Oct 1998 13:48:06 +0000 Subject: [PATCH] Patch level : Files correlati : Ricompilazione Demo : [ ] Commento : applicat.* Aggiunto metodo open_files codeb.c Aggiunta DB_flush confapp.h Aggiunto virtual in load/save_mask config.cpp Aggiunto parametro ios::nocreate git-svn-id: svn://10.65.10.50/trunk@7198 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/applicat.cpp | 15 +++++++++++++++ include/applicat.h | 4 ++++ include/codeb.c | 18 +++++++++++++++++- include/confapp.h | 10 +++++----- include/config.cpp | 2 +- 5 files changed, 42 insertions(+), 7 deletions(-) diff --git a/include/applicat.cpp b/include/applicat.cpp index 4aa101d6a..1a571c86e 100755 --- a/include/applicat.cpp +++ b/include/applicat.cpp @@ -416,7 +416,10 @@ void TApplication::terminate() do_events(); if (use_files()) + { + _used_files.destroy(); free_global_vars(); // Distruzione variabili globali + } printer_destroy(); @@ -870,6 +873,18 @@ void TApplication::on_firm_change() void TApplication::on_config_change() {} +void TApplication::open_files(int logicnum, ...) +{ + va_list marker; + va_start(marker, logicnum); + while (logicnum > 0) + { + CHECKD(_used_files.objptr(logicnum) == NULL, "File gia' aperto: ", logicnum); + _used_files.add(new TLocalisamfile(logicnum), logicnum); + logicnum = va_arg(marker, int); + } +} + /////////////////////////////////////////////////////////// // The Skeleton application! /////////////////////////////////////////////////////////// diff --git a/include/applicat.h b/include/applicat.h index e14547b14..3fd14f36e 100755 --- a/include/applicat.h +++ b/include/applicat.h @@ -46,6 +46,8 @@ class TApplication TString _title; // @cmember:(INTERNAL) Nome del modulo principale applicazione TString _module_name; + // @cmember:(INTERNAL) Elenco dei files + TArray _used_files; // @cmember:(INTERNAL) Codice della ditta long _savefirm; @@ -180,6 +182,8 @@ public: bool add_menu(TString_array& menu, MENU_TAG id = 0); // @cmember Elimina il menu'

(Ritorna se ce l'ha fatta???) bool remove_menu(MENU_TAG id); + // Aggiunge uno o piu' file a quelli aperti + void open_files(int logicnum, ...); // @cmember Costruttore TApplication(); diff --git a/include/codeb.c b/include/codeb.c index 7f21849e9..62273442d 100755 --- a/include/codeb.c +++ b/include/codeb.c @@ -399,6 +399,22 @@ int DB_recall(int handle) return(0); } +/*------------------------------------------------------------------------- + + --------------------------------------------------------------------------*/ +int DB_flush(int handle) +{ + int rt; + + while ((rt = d4flush(dbdata[handle])) == r4locked) +#ifdef DBG + yesnofatal_box("Sono in attesa nella DB_flush"); +#else + u4delay_sec(); +#endif + return rt; +} + /*------------------------------------------------------------------------- riscrive il record attuale --------------------------------------------------------------------------*/ @@ -1628,7 +1644,7 @@ int DB_delkey(int handle, char* key, long recno) { while ((rt=i4lock(i)) == r4locked) #ifdef DBG - yesnofatal_box("Sono in attesa nella DB_delkeys"); + yesnofatal_box("Sono in attesa nella DB_delkey"); #else u4delay_sec(); #endif diff --git a/include/confapp.h b/include/confapp.h index 8baf26fe1..1a3547bcc 100755 --- a/include/confapp.h +++ b/include/confapp.h @@ -63,11 +63,6 @@ class TConfig_application : public TApplication // @cmember:(INTERNAL) Controlla il menu' (vedi ) virtual bool menu(MENU_TAG); - // @cmember:(INTERNAL) Carica i parametri su maschera - void load_mask(); - // @cmember:(INTERNAL) Salva i parametri dalla maschera - void save_mask(bool tosave) ; - // @cmember:(INTERNAL) Carica il config void load_config(); @@ -76,6 +71,11 @@ class TConfig_application : public TApplication // @access Protected Member protected: + // @cmember:(INTERNAL) Carica i parametri su maschera + virtual void load_mask(); + // @cmember:(INTERNAL) Salva i parametri dalla maschera + virtual void save_mask(bool tosave) ; + virtual bool user_create() ; virtual bool user_destroy() ; diff --git a/include/config.cpp b/include/config.cpp index 21a0cc48f..9e0865e5f 100755 --- a/include/config.cpp +++ b/include/config.cpp @@ -100,7 +100,7 @@ void TConfig::_write_file() if (_write_protected) return; - ifstream in(_file, ios::in, filebuf::sh_read); + ifstream in(_file, ios::in | ios::nocreate, filebuf::sh_read); TFilename temp; temp.temp("cnf");