I found that my intent to do an "active" extension (or variant) of the Lazarus "NoGUI" Widget Type (aka "Interface") is not possible (to be implemented in an IMHO sensible way) using the released version of the FPC RTL, but is rather easy when using the "TThread extensions" provided by the svn version.That is why I will hold off until the next official fpc release.

A (minor) problem is, that "TThread.Queue", which is the entry to the Thread Queue handling I need to use, is done in perfectly Delphi compatible way in that it does not queue the function call but simply performs a call to it when the calling is done from the main thread. While I don't think that this really makes sense, it obviously should stay in place for Delphi compatibility.

Now, "Application.QueueAsnycCall" should be provided in a way that is perfectly compatible to other Lazarus Widget types. And in Lazarus, "Application.QueueAsnycCall" other than "TThread.Queue" always queues the call, even when called from the main thread. Hence using TThread.Queue to implement Application.QueueAsnycCall would introduce a (supposedly very seldom relevant) incompatibility.

This could be helped by creating another TThread procedure for this purpose.

Would a patch for such a thing have a chance to be accepted ?

Thanks,
-Michael
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to