>
> the VCL is not threadsafe. You're supposed to access it only in
non-threading mode (IE. accessing using synchronize() from within the
thread). With multiple threads accessing the VCL is even more complicated..
using mutex's or something. Have you done all that?
>
> Dave
>

I'm aware that the VCL is not threadsafe, but does that include the memory
manager? All the threads (all 2 of them) use Synchronise to do most of the
processing. Something along the lines of :

procedure Thread.Execute;
begin
  { other code - including string manipulations, but definitely no
references to VCL stuff as far as I'm aware }
  if need_to_do_action then
    Synchronize(do_the_action);
  { other code }
end;

I may be using TString:List references in the thread - I'll go and check
that, but definitely not any visual component stuff - I wonder if that could
be getting me into trouble? Hmmm, yes I was referencing a TStringList
entity, and getting rid of it seems to have reduced the frequency of
occurence of the problem! So I'll keep looking for other things that may be
related.

Thank-you for your help.
Carl.




-----------------------------------------------------
Home page: http://groups.yahoo.com/group/delphi-en/
To unsubscribe: [EMAIL PROTECTED] 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/delphi-en/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to