I've notified the author of the audio suite of the problem. I'm not accessing the thread directly, in fact, I only know it uses a thread because the web page says so. My little app is only a few lines long with some components on a form.
Perhaps I should not be doing UI stuff in this event. It is an event triggered by the audio component when data is available. It is an IDE published event so you would think it should handle UI stuff, but the audio component probably doesn't want anything slowing down the internal thread, otherwise, audio data could be lost. So I may need to copy the data to a global variable and access it on a timer as you suggested. Cheers, Ross. ----- Original Message ----- From: "Matt Comb" <[EMAIL PROTECTED]> To: "NZ Borland Developers Group - Delphi List" <[email protected]> Sent: Sunday, June 19, 2005 5:03 PM Subject: Re: [DUG] graphics stops updating I would consider creating something like a stats object as an intermediary between your reading thread and the updating on the main thread. Something along the lines of the following. Update the values that you need in the update events from the read thread, then on the mainform have a timer which also reads from this object. Matt. type TStatOb = class(Tobject) private fVal1:integer; fSC_Val1:tCriticalSection; function ReadVal1:integer; procedure SetVal1(value:integer); public constructor create; destructor destroy; override; property Val1:integer read ReadVal1 write SetVal1; end; implementation { TStatOb } constructor TStatOb.create; begin fSC_Val1:=tcriticalsection.create; end; destructor TStatOb.destroy; begin fSC_Val1.free; inherited; end; function TStatOb.ReadVal1: integer; begin fSC_Val1.Enter; result:=fval1; fSC_Val1.Leave; end; procedure TStatOb.SetVal1(value: integer); begin fSC_Val1.Enter; fval1:=value; fSC_Val1.Leave; end; _______________________________________________ Delphi mailing list [email protected] http://ns3.123.co.nz/mailman/listinfo/delphi
