That is an error - it's a runtime exception. It occurs when you try to use a control that is currently being used by another thread (the one on which it was created).
Multiple threads are being used in this program. Jordan, have you made sure you're not using controls from another thread?
First, I have the same problem as the previous poster not when I compile the program but when I run it (press the 'get ip address' button):
Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on.
The debugger does come up with these two:
Warning 1 'System.Net.Dns.BeginResolve(string, System.AsyncCallback, object)' is obsolete: 'BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. Search Microsoft.com Framework Developer Center' C:\Documents and Settings\User\Local Settings\Application Data\Temporary Projects\WindowsFormsApplication1\Program.cs 84 9 WindowsFormsApplication1
Warning 2 'System.Net.Dns.EndResolve(System.IAsyncResult)' is obsolete: 'EndResolve is obsoleted for this type, please use EndGetHostEntry instead. Search Microsoft.com Framework Developer Center' C:\Documents and Settings\User\Local Settings\Application Data\Temporary Projects\WindowsFormsApplication1\Program.cs 93 28 WindowsFormsApplication1
I don't understand how to fix it.
Now, I have a bunch of questions! Thank you for the time you put toward answering them, I intend to go over every single one of your tutorials. Thank you for them.
1. Why is AsyncCallback private when you define it as a class?
2. What does it do and where does OnResolved come from/mean?
3. What does "new" indicate? Even if we're defining a new variable (label1, label2, etc) we need to say that it's a 'new' version of a certain function?
4. What is Label only said once? Aren't there three labels? Don't you need to do everything else three times?
5. I think I understand generally what this means, but can you explain each piece of it?
void ButtonResolveOnClick(object obj, EventArgs ea)
6. In the following lines,
results.Items.Clear();
string addr = address.Text;
Object state = new Object();
Dns.BeginResolve(addr, OnResolved, state);
are address.text and Object functions of results.Items.Clear and is Dns.BeginResolve a function of Object? I think I follow it, even if I don't know why string addr is required. Does it refer to 'address' which was defined previously?
"We use the keyword "string" to group the data in lines." So this is the make it pop out a new line each time it returns data?
7. If this is the case, where are we listing the buffer? I think I understand the function of it, but can you explain what the buffer section is doing?
Thank you a ton. I only know mathematica and matlab, so this is my first real attempt at a real programming language. Sorry I'm a novice.
Thanks for your time.
very well said. now if only i had found this when i was just starting C#... lol
If at first you don't succeed, skydiving is not for you.
I don't know how you are getting this error as there is only one main thread in the program. The resolver worked well for me and I was not able to get any run time or design time errors? I tried several different web addresses and it worked beautifully. This was a little while back but I can't imagine what the problem with it would be now.
Could be, maybe they are using it with 2005 or Visual Studio 2008? I've seen minor errors like this occur between Studio 2008 and 2008 Express Editions...
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks