[Lazarus] screen.cursor := crHourglass and Linux
Mattias Gaertner
nc-gaertnma at netcologne.de
Sat Apr 16 12:05:50 CEST 2011
On Sat, 16 Apr 2011 11:40:59 +0200
John Landmesser <JohnML at online.de> wrote:
> Am 15.04.2011 21:41, schrieb DSK:
> >
> > Yes, your program is responsible for indicating that you have started
> > [or finished] a long process.
> >
>
> Ok, but my problem is different:
>
> in the app running on windows Hourglass is shown by:
> screen.cursor := crHourglass;
>
> but for linux you need:
> screen.cursor := crHourglass;
> Application.ProcessMessages;
>
> isn't that in conflict to:
> "write once, compile anywhere" ?
Not really, because the LCL is a event based/driven GUI engine. You
must leave the main thread enough processing time.
When processing a long operation you must call
Application.ProcessMessages or put the operation into another queue.
Otherwise your application stops responding.
The LCL is not a winapi emulator.
Mattias
More information about the Lazarus
mailing list