mask.cpp Esteso tasto f12 msksheet.cpp Corretto evento E_FOCUS stdtypes.cpp Aggiunto contatore git-svn-id: svn://10.65.10.50/trunk@2166 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			116 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include <stdlib.h>
 | ||
| #include <stdio.h>
 | ||
| 
 | ||
| #define __STDTYPES_CPP
 | ||
| 
 | ||
| #include <extcdecl.h>
 | ||
| #include <conf.h>
 | ||
| #include <modaut.h>
 | ||
| 
 | ||
| #if XVT_OS != XVT_OS_SCOUNIX
 | ||
| #include <dos.h>
 | ||
| #include <hlapi_c.h>
 | ||
| #endif
 | ||
| 
 | ||
| #include <checks.h>
 | ||
| #include <isam.h>
 | ||
| #include <prefix.h>
 | ||
| #include <codeb.h>
 | ||
| 
 | ||
| #define REFKEY          "CAMPOKEY"
 | ||
| #define VERKEY          "ìpÙˆ¬cê<"
 | ||
| 
 | ||
| extern isfdptr *openf;
 | ||
| HIDDEN long _stdlevel = 0;
 | ||
| 
 | ||
| long get_std_level()
 | ||
| { return _stdlevel; }
 | ||
| 
 | ||
| int get_serial_number()
 | ||
| {
 | ||
| #if XVT_OS != XVT_OS_SCOUNIX                                
 | ||
|   const int status = HL_LOGIN(ModAd, DONT_CARE, REFKEY, VERKEY);
 | ||
|   if (status != STATUS_OK)
 | ||
|     return -1;
 | ||
| #endif           
 | ||
|   return getser();
 | ||
| }
 | ||
| 
 | ||
| void init_global_vars()
 | ||
| {
 | ||
|   TPrefix& pref = prefix_init();
 | ||
|   
 | ||
|   pref.set("");
 | ||
|   _stdlevel = pref.filelevel();
 | ||
|   
 | ||
|   FileDes       d;
 | ||
|   CGetFile(LF_DIR, &d, _nolock, NORDIR);
 | ||
|   
 | ||
|   long maxfdir = d.EOX;
 | ||
|   pref.set("DEF");
 | ||
|   CGetFile(LF_DIR, &d, _nolock, NORDIR);
 | ||
|   if (d.EOD > maxfdir) maxfdir = d.EOD;
 | ||
| 
 | ||
|   isjournal = FALSE;
 | ||
|   
 | ||
|   openf = new isfdptr[maxfdir];
 | ||
|   openrec = new TRectype*[maxfdir];
 | ||
|   
 | ||
|   for (long i = 0; i < maxfdir; i++)
 | ||
|   {
 | ||
|     openf[i] = NULL;
 | ||
|     openrec[i] = NULL;
 | ||
|   }
 | ||
|   
 | ||
| #if XVT_OS == XVT_OS_SCOUNIX
 | ||
|   const bool muflag = CGetAut(MUAUT);
 | ||
|   if (SerNo && !muflag)
 | ||
|     fatal_box("Abnormal termination: check protection or serial number\n");
 | ||
| #endif
 | ||
|   DB_init();
 | ||
| }
 | ||
| 
 | ||
| void free_global_vars()
 | ||
| {                
 | ||
| #if XVT_OS != XVT_OS_SCOUNIX
 | ||
|   HL_LOGOUT();
 | ||
| #endif
 | ||
|   if (openf != NULL)
 | ||
|   {
 | ||
|     delete openf;
 | ||
|     delete openrec;
 | ||
|     prefix_destroy();
 | ||
|   }  
 | ||
|   DB_exit();
 | ||
| }
 | ||
| 
 | ||
| #ifndef FOXPRO
 | ||
| #include <xvt.h>
 | ||
| 
 | ||
| #ifdef DBG
 | ||
| unsigned long _alloc_count = 0;
 | ||
| #endif
 | ||
| 
 | ||
| void* operator new(size_t size)
 | ||
| { 
 | ||
|   void* mem = (void*)malloc(size);
 | ||
|   if (mem == NULL)
 | ||
|     fatal_box("Out of memory: can't allocate %u bytes", size);
 | ||
| 
 | ||
| #ifdef DBG
 | ||
|   _alloc_count++;
 | ||
| #endif
 | ||
| 
 | ||
|   return mem;
 | ||
| }
 | ||
| 
 | ||
| void operator delete(void* ptr)
 | ||
| {
 | ||
|   CHECK(ptr, "Can't delete a NULL pointer");
 | ||
|   free(ptr);
 | ||
| }
 | ||
| 
 | ||
| #endif // FOXPRO
 | ||
| 
 | ||
| 
 |