On Sat, 08 Nov 2008, David Arturo Macias Corona wrote:

Hi David,

> Some pass in:
>    iKey = HB_GTSELF_READKEY( pGT, INKEY_ALL );
> I put tracing in
>  static int hb_gt_def_ReadKey( PHB_GT pGT, int iEventMask )
> and
>  static int hb_gt_def_MouseReadKey( PHB_GT pGT, int iEventMask )
> but never are executed

It's expected. They are overloaded by GT driver

> ---------------
> 2. hb_inkeyPoll()
> 3. hb_inkeyPoll()
> 1. hb_gt_def_InkeyPoll()
> 2. hb_gt_def_InkeyPoll()
> 1. hb_gt_def_InkeyPollDo()
> SYS1808:
> The process has stopped.  The software diagnostic
> code (exception code) is  0001.
> ---------------

> and there are NOT defined ( hbgtcore.c ) :

They are:
[...]
>    hb_gt_def_ReadKey                      ,
[...]
>    hb_gt_def_MouseReadKey                 ,

In hb_gt_def_InkeyPollDo():

   iKey = HB_GTSELF_READKEY( pGT, INKEY_ALL );

in hb_gt_def_InkeyPollDo() executes low level GT driver READKEY()
method. In GTOS2 it's hb_gt_os2_ReadKey(). Please also note that
it works for 1-st thread and fails only for the second one so the
problem is bound with low level GT code. In GTCGI READKEY() does
nothing and only returns K_ENTER code:

   static int hb_gt_cgi_ReadKey( PHB_GT pGT, int iEventMask )
   {
      HB_TRACE(HB_TR_DEBUG, ("hb_gt_cgi_ReadKey(%p,%d)", pGT, iEventMask));

      HB_SYMBOL_UNUSED( pGT );
      HB_SYMBOL_UNUSED( iEventMask );

      return 13;
   }

In GTOS2 and GTSTD low level keyboard code is activated and it causes
that application fails.

best regards,
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to