Ok... ever in one of those situations where you don't even know enough to ask the 
right question? Well, that's what i feel like with this one.  If I should move this to 
a more appropriate list... let me know which list.

ok here goes..

I have an application that is basically 2 parts. A winform app and a ADO.NET business 
object (BO), that the winform app uses and has a reference set to the BO dll.

Many different winforms will be written to use this same Business Object. The winform 
applications can be written by anyone in the client's IT department, and I'll be 
responsible for writing the BO dll.  The BO will be doing some processing on employee 
records. The BO accepts a datatable, and loops through each row of the datatable, and 
performs some processing on each row.  It's possible for the datatable to contain 10, 
50, or even 500,000 rows (which could relate to hrs of processing). Consequently, as 
soon as you pass the DataTable to the BO, all winform processing is locked up, until 
the BO is done with the data. Now I realize the winform could execute this on another 
thread, so that the user could continue using the winform, but what I really want to 
do is raise an event back to the winform (or calling application), from inside the BO, 
every time a row is processed (for example, for reporting and tracking purposes). This 
way the winform can then take that individual datarow, and do some more processing 
with the primary key, and employee ID of that row.... A few questions:

What do I need to look at to do this? Delegates? Events? Where do I start? Urls? Links 
anyone?
Does anyone have any code snippets of something similar in concept?
I'm assuming I'll be raising an event back to the winform that accepts a DataRow, 
correct? I don't know.. looking for examples...
Does this make any sense?
Also, it's possible the ADO.NET BO will be used from Console apps, and just about 
anything else.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to