Il 28/04/2012 10:21, Mattias Gaertner ha scritto:
On Sat, 28 Apr 2012 01:24:03 +0200
Giuliano Colla<[email protected]> wrote:
[...]
I could provide a patch if pointed to the right area of code to deal
with. IDE things remain a big mystery to me.
AFAIK the real pain is to find the cause of the strange/misleading
error messages. The remedy itself is pretty simple (a flag or a tiny
code change).
The problem arises from TThread being in fpc rtl, which is of course
unaware of Lazarus needs.
In Customdrawn, where I experimented a separate thread for timer events,
it's been quite easy to add a clear error message if threading is not
enabled:
constructor TCDX11TimerThread.Create(CreateSuspended: Boolean;
const StackSize: SizeUInt);
var
thisTM: TThreadManager;
begin
GetThreadManager(thisTM);
if not Assigned(thisTM.InitManager) then begin
Raise Exception.Create
('You must define UseCThread (-dUseCThreads in Project Options-> Compiler
Options) in order to run this program!');
end;
inherited Create (CreateSuspended);
[..]
A LazThread class defined in LCL which wraps TThread and performs
appropriate checks could be a solution?
Giuliano
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus