On 2007-10-22, mrc-dm <[EMAIL PROTECTED]> wrote:
>
> Hello
>
> My application communicates a palm with a watch through IrDA. This
> communication is working but very slowly. If during communication is
> generated events (I move the pen over the screen), this is accelerated
> because the EventLoop calls a function that handle part of the communication.
> I am trying to generate any events to the application between the EventLoop
> and go faster.
>
> static void AppEventLoop(void)
> {
> Err error;
> EventType event;
> do{
> EvtGetEvent(&event, evtWaitForever);
>
> while(eventoMRC){manejadorMRC();}
>
> if (SysHandleEvent(&event))
> continue;
>
> if (MenuHandleEvent(0, &event, &error))
> continue;
>
> if (AppHandleEvent(&event))
> continue;
>
> while(eventoMRC){manejadorMRC();}
>
> FrmDispatchEvent(&event);
>
> } while (event.eType != appStopEvent);
> }
>
> I reviewed the documentation and got no results nilEvent, penDownEvent or
> userEvent.
>
> I'm ussing this
> (At the top)
> EventPtr eventoNuloPtr;
> EventType eventoNulo;
>
> (atTheCall)
> eventoNulo.eType = penMoveEvent;
> eventoNulo.penDown = true;
> eventoNulo.screenX = 1;
> eventoNulo.screenY = 1;
> eventoNulo.tapCount = 1;
> eventoNuloPtr=&eventoNulo;
> EvtAddEventToQueue(eventoNuloPtr);
>
>
> I get this error at run time:
> Fatal Alert:
> Event.c, Line:208, Event queue full
>
> And never acelerate the comunication process :s
>
> Thanks
>
Do not add events to the queue.
Your problem is that you use evtWaitForEver in the EvtGetEvent call.
Just wait for a limited time. When the time is up and there is no event
from the system you will receive a nilEvent and your eventloop will run.
See the documentation for EvtGetEvent().
HTH
Ton van Overbeek
--
For information on using the ACCESS Developer Forums, or to unsubscribe, please
see http://www.access-company.com/developers/forums/