diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index 157e16558..ce1afd6ec 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -264,6 +264,8 @@ protected: virtual int read ( TMask& m ); virtual void init_insert_mode( TMask& m ); void elimina_vuote( const TMask& m); + virtual const char * query_mask_name() { return "lv3100a"; } + public: TGiac_per_cli& giacenza(); @@ -1120,9 +1122,6 @@ TGestione_bolle_msk::TGestione_bolle_msk(const char* tipodoc) : TDocumento_mask( //ridefinisco il metodo get_mask delle TMotore_application TMask* TGestione_bolle_app::get_mask( int mode ) { - if (mode == MODE_QUERY) - return new TMask("lv3100a"); - if (mode == MODE_INS || mode == MODE_MOD) { TString4 tipodoc; @@ -1131,9 +1130,11 @@ TMask* TGestione_bolle_app::get_mask( int mode ) else tipodoc = TMotore_application::get_mask(MODE_QUERY)->get(F_TIPODOC); - if (_doc_masks.objptr(tipodoc) == NULL) + TGestione_bolle_msk* m = (TGestione_bolle_msk*) _doc_masks.objptr(tipodoc); + + if (m == NULL) { - TGestione_bolle_msk* m = new TGestione_bolle_msk(tipodoc); + m = new TGestione_bolle_msk(tipodoc); TSheet_field& sheet = m->sfield(F_SHEET); if (sheet.exist_column(FR_JOLLY1)) @@ -1151,6 +1152,7 @@ TMask* TGestione_bolle_app::get_mask( int mode ) m->user_set_handler( row->get_int( 0 ), row->get_int( 1 ) ); } } + return m; } return TMotore_application::get_mask(mode); } diff --git a/ve/ve0100.cpp b/ve/ve0100.cpp index 522df178d..84669e681 100755 --- a/ve/ve0100.cpp +++ b/ve/ve0100.cpp @@ -512,7 +512,7 @@ bool TMotore_application::user_create( ) _rel = new TRelation( LF_DOC ); _rel->lfile().set_curr(new TDocumento); - _msk = new TMask("ve0100a"); + _msk = new TMask(query_mask_name()); set_search_field(F_NDOC); _msk->set_handler( F_ANNO, TDocumento_mask::anno_handler ); diff --git a/ve/ve0100.h b/ve/ve0100.h index 057c85050..fa8c92036 100755 --- a/ve/ve0100.h +++ b/ve/ve0100.h @@ -84,6 +84,7 @@ public: // Funzioni di accesso alle variabili private + virtual const char * query_mask_name() { return "ve0100a"; } virtual TMask & query_mask() { CHECK( _msk, "Maschera di ricerca nulla!" ); return *_msk; } virtual TDocumento_mask & edit_mask() const { CHECK( _docmsk, "Maschera di edit nulla!" ); return *_docmsk; } TRelation & rel() { CHECK( _rel, "Relazione nulla!" ); return *_rel; }