jwcolby
jwcolby at colbyconsulting.com
Wed Apr 30 12:36:02 CDT 2008
Bueno, thanks! John W. Colby www.ColbyConsulting.com Charlotte Foust wrote: > I'm sorry, John, I missed the contextt of your question. We don't use > background workers that way, so I don't have an answer for you. > > Charlotte > > -----Original Message----- > From: dba-vb-bounces at databaseadvisors.com > [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Wednesday, April 30, 2008 9:05 AM > To: Discussion concerning Visual Basic and related programming issues. > Subject: Re: [dba-VB] Background worker threads > > Charlotte, > > Could you be a little more verbose? > > I have spent about 6 hours now Googling and reading EXACTLY the same > (though written by different authors) code "the button starts the > thread, the thread increments the number, the thread raises its event > and passes a "percent done" to the form where it is used to update a > progress bar". > > Give me a break! > > To be honest I am astonished that FORTY different people thought that it > was necessary to publish identical content articles. None of which > answers either of my questions. > > I have a class. > > The class has TWO BackgroundWorker objects defined Withevents. > > bgwParseData is running a function that creates a class to load data > from a SQL server, and once loaded, parse that data. The basic code WAS > working before I carved it out into a worker. > > bgwUpdateData is running a method of a class that updates data back to > SQL Server. The basic code WAS working before I carved it out into a > worker. > > So... a single data class, two methods, one reads / parses the data in > an ADO DataTable, the second writes the datatable back to SQL Server. > > Two threads, bgwParseData generates the data class and calls the > read/Parse method, then stores the class in a collection. bgwUpdateData > watches the collection, pulls the class out and calls the update method. > > Or that is the theory. I have asked whether it is legal for one > background worker to write to a collection while a second background > worker reads that collection. No answer so far. > > The second issue is how can bgwParseData update THREE different text > boxes on the main form. All of the examples show a cute "progress bar". > > I don't want a progress bar, I want THREE text boxes to display data > from the process running in the background worker. > > I know that I can create events and raise them, and I DID THAT before I > started converting to backgroundworkers. That was easy. HOWEVER the > way I read it I can't raise those same events from the BackgroundWorker > thread because the event sink updates a physical control on the form, > and that is a no-no from a thread. > > Unfortunately, as always happens with the books, they don't discuss > anything more complicated than incrementing a number and passing that > number back to a progress bar on the form. I have seen that (almost) > identical code in probably FORTY different articles on using the > backgroundworker. All saying EXACTLY the same, useless (to me) thing. > > Sigh. > > John W. Colby > www.ColbyConsulting.com > > > Charlotte Foust wrote: >> You can create your own events with whatever parameters you want and >> raise those. Just Dim Public Event Whatever(parameter) Then raise it > >> as needed. >> >> Charlotte Foust > _______________________________________________ > dba-VB mailing list > dba-VB at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-vb > http://www.databaseadvisors.com > > > _______________________________________________ > dba-VB mailing list > dba-VB at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-vb > http://www.databaseadvisors.com > >