Plain old integer variables are not threadsafe. However, if you have only one thread which writes to the variable, and all others only read it, then you should be more or less safe. Even then it is a bit dodgy.
To be safe you should protect access to your integer with TCriticalSection or one of the other concurrency constructs. And if you are gonna do that, then it would be best to encapsulate this within a class to ensure that the concurrency construct chosen is always used when accessing the variable. While I don't know what the stats object is, I guess this is more or less what it does. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ross Levis Sent: Sunday, June 19 2005 5:47 p.m. To: NZ Borland Developers Group - Delphi List Subject: Re: [DUG] graphics stops updating Plain old integer variables are threadsafe. So rather than adding the overhead of the stat object you suggested, I am simply assigning the Left & Right values to Private global integers and accessing them with a timer. It's been working perfectly for 10 minutes which is a record. Cheers, Ross. ----- Original Message ----- From: "Matt Comb" <[EMAIL PROTECTED]> To: "NZ Borland Developers Group - Delphi List" <[email protected]> Sent: Sunday, June 19, 2005 5:35 PM Subject: Re: [DUG] graphics stops updating Yer the problem is that whatever you are executing in the event of this audio component is running in that audio components thread also, so you can't directly access anything from the main thread without making it threadsafe first. If you use the stats object as suggested I think you will be fine. Catch ya, Matt _______________________________________________ Delphi mailing list [email protected] http://ns3.123.co.nz/mailman/listinfo/delphi _______________________________________________ Delphi mailing list [email protected] http://ns3.123.co.nz/mailman/listinfo/delphi
