From: W.
Sent: Friday, May 14, 2010 3:32 PM
To: Zbynek Zahradnik
Subject: RE: Data.NET in VS 2010
Hello Zbynek,
.... This is in a new project in VB.NET 2010 targeting the 3.5 framework. I will try and get you the code I am using. .... In the meantime I have made the customer aware that the workaround mentioned will be fine.
Thanks,
W.
From: Zbynek Zahradnik [This email address is being protected from spambots. You need JavaScript enabled to view it.]
Sent: Thursday, May 13, 2010 8:56 AM
To: W.
Cc: R.
Subject: RE: Data.NET in VS 2010
W.,
I could not reproduce this problem – but with VS2010, I ran into other issue, which I am working on. Is this happening with a project converted from VS2008, or with a new project? Can you send me that project?
In general, the answer is that the SynchronizationContext property of EasyDAClient should be set whenever you care about the thread which make event notifications from EasyDAClient. If you do not care about the thread or the timing of event notifications, you can leave the SynchronizationContext as null. Otherwise, you should set it to a synchronization context proper for the environment. In many cases the Designer does it for you, as in the code at the bottom, which assures uses a WinForms synchronization context, and assures that event notifications are made on the main thread of the form – which is the UI thread that is the right one for updating UI controls during notifications and so on. If the synchronization context was not set, you can run into problems updating the UI controls from within the event notification; however if you just need to manipulate some internal data structures, it’s fine to have no synchronization context.
The line at the bottom is fine in VS 2010 WinForms too, so go ahead and use it.
The first piece of code appears to be from WPF application, which uses a different synchronization context class, but the general principle is the same.
Best regards,
Zbynek Zahradnik
From: W.
Sent: Wednesday, May 12, 2010 4:10 PM
To: Zbynek Zahradnik
Cc: R.
Subject: Data.NET in VS 2010
Hello Zbynek,
We have a customer who is attempting to use the OPC Data.NET in VS 2010. They are targeting the 3.5 framework but I get the same error when targeting the 2.0 FW. They get an error saying something like "Type System.Windows.Threading.DispatcherSynchronizationContext does not exist". So we went ahead and commented out the two lines below (line #1 is incomplete but you should get the idea). The application was able to read tags no problem. I was wondering what implications this has on the functionality of the application. Does it remove desired or necessary functionality? If so what?
'Dim DispatcherSynchronizationContext2 As System.Windows.Threading.DispatcherSynchronizationContext =
'Me.EasyDAClient1.SynchronizationContext = DispatcherSynchronizationContext2
I also noticed that in VS 2008 the following line is used instead.
Dim WindowsFormsSynchronizationContext1 As System.Windows.Forms.WindowsFormsSynchronizationContext = New System.Windows.Forms.WindowsFormsSynchronizationContext
Can I just have the user change to this code? Please let me know.
Thanks,
W.