Page 1 of 1

_ProcessInitProcedure

Posted: Wed Dec 01, 2021 10:32 am
by serge_girard
Hello,

1-2 times per month I get an error on this (Eval( _HMG_SYSDATA [ 72 ] ))

Code: Select all

Procedure _ProcessInitProcedure(i)
*------------------------------------------------------------------------------*
if valtype(_HMG_SYSDATA [ 72  ] [i])=='B'
   DO EVENTS   // ProcessMessages()
   _PushEventInfo()
   _HMG_SYSDATA [ 232 ] := 'WINDOW_INIT'
   _HMG_SYSDATA [ 194 ] := i
   _HMG_SYSDATA [ 231 ] := 'W'
   _HMG_SYSDATA [ 203 ] := i
   _HMG_SYSDATA [ 316 ] :=  _HMG_SYSDATA [  66 ] [ _HMG_SYSDATA [ 194 ] ] 
   _HMG_SYSDATA [ 317 ] :=  ""
   Eval( _HMG_SYSDATA [ 72  ] [i] )
   _PopEventInfo()
EndIf
// added in hmg 3.0.43 - start
if valtype(_HMG_SYSDATA [ 80 ] [i])=='B' .OR.  HMG_LEN (_HMG_SYSDATA [ 102 ] [i]) > 0   
InvalidateRect (_HMG_SYSDATA [ 67 ] [i], NIL, .F.)
endif                                                                               
// end 
Return
Happens 1-2 per month in daily production use in 10 places.

Error:

Code: Select all

Date:01/12/2021 Time: 08:56:13
Error BASE/1004 Aucune methode exporte: EVAL (no export method) 
Called from (b)EVAL(0) 
Called from _PROCESSINITPROCEDURE(5876) 
Called from _ACTIVATEWINDOW(5704) 
Called from SHOW_FORM_WARN(4549) 
My SHOW_FORM_WARN is a simple form to show the user some kind of information and a button to close it:

Code: Select all

FUNCTION Show_FORM_WARN(cEML, cADRES_OK, xMAILING, cSTRAAT, cHUIS, cPOSTNR, cWOON)
/*********************************************************************************/
LOCAL cTXT := ''

If !IsWIndowActive (Form_2) 
   IF EMPTY(cSTRAAT) .or. empty(cHUIS) .or. empty(cPOSTNR) .or. empty(cWOON)
      cTXT  += CRLF + CRLF + SPACE(3) + TAALOMS( "513", WZTAAL,"A") 
   ENDIF          

   IF EMPTY(cEML)
      cTXT  += CRLF + CRLF + SPACE(3) + TAALOMS( "380", WZTAAL,"A") 
   ENDIF          

   IF cADRES_OK # 'J'
      cTXT  += CRLF + CRLF + SPACE(3) + TAALOMS( "499", WZTAAL,"A")  
   ENDIF          

   IF xMAILING # 'J'   
      cTXT  += CRLF + CRLF + SPACE(3) + TAALOMS( "500", WZTAAL,"A")
   ENDIF   

   DEFINE WINDOW Form_2 ;
      AT  20,20 ;     
      WIDTH  450;  
      HEIGHT 450;  
      TITLE "Info" ;
      ICON  ""	;
      NOMINIMIZE ;
      NOMAXIMIZE ;
      NOSYSMENU ;
      TOPMOST ;
      NOCAPTION;
      ON INIT NIL ;
      BACKCOLOR {250,156,211} ;

      ON KEY ESCAPE  ACTION Form_2.Release  

      @ 1,1 LABEL VERSTUUR ;
         VALUE cTXT ;
         ACTION Form_2.Release; 
         WIDTH  448		;
         HEIGHT 448		;
         FONT 'Arial' SIZE 16		;
         BACKCOLOR {150,256,211} 	;
         FONTCOLOR {250,156,211} BOLD ;

      
      @ 400,10 BUTTON BT3 ;
         CAPTION TAALOMS( "217", WZTAAL,"A");
         WIDTH  430		;
         HEIGHT 30		;
         ON CLICK Form_2.Release; 

   END WINDOW
   CENTER WINDOW Form_2

   ACTIVATE WINDOW Form_2
ELSE
   Form_2.SetFocus
   RETURN
ENDIF
RETURN
I see no cause and therefore no solution as I really don't know what's going wrong.
Anybody an idea?

Serge

Re: _ProcessInitProcedure

Posted: Wed Dec 01, 2021 12:19 pm
by edk
Maybe try adding the Do Events command at the start of the Show_FORM_WARN function or/and changing the window type to Modal

Re: _ProcessInitProcedure

Posted: Wed Dec 01, 2021 12:35 pm
by serge_girard
Thanks Edward,

I will try... The only problem is that I cannot myself reproduce this error-situation. I tried everything

Serge

Re: _ProcessInitProcedure

Posted: Wed Dec 01, 2021 1:22 pm
by edk
I guess it might have to do with the speed of the user handling the application.

Re: _ProcessInitProcedure

Posted: Wed Dec 01, 2021 3:17 pm
by serge_girard
Indeed, this is a a possibility...!
Thx

Serge