Il 05/09/2017 22:51, Sven Barth via Lazarus ha scritto:
It is however solved if you add a "Yield;" after the Synchronize call. So my suspicion is that the scheduling of Mac OS X is somehow messing things up. Either the scheduling is favoring the one thread while it shouldn't (though even reducing the priority doesn't help) or the UI framework of Mac OS X (and whatever else is involved in the main thread) is so heavy weight that the timeslice of the mainthread is used up more often than not thus leading to the read thread being scheduled much more often. By using Yield (or also Sleep(), but Yield is without any pause) the thread is explicitly giving up its timeslice and that seems to be enough here...
I changed the code following your hints and I added Yield. This is not enough, it seems that the application is a little bit more responding (I can click on Tedit and after seconds the text is highlighted) but not enough to be usable. Actually for me it works only if I add at least Sleep(1).
It is a pity that there is not a unique solution. -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus