I suspect that you've made the handler, from which you invoke the call, a
static method.. Therefore in that context there is no "this."
The thread's event handler should have an instance of the form, check to see
if invoke is required (it normally is but you never know) and invoke the
method directly from the handler.
--
Bob Powell [MVP]
Visual C#, System.Drawing
Ramuseco Limited .NET consulting
http://www.ramuseco.com
Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm
Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm
All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
<(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
>I have a windows forms app with a statusbar. In the form's code, I use
> a delegates and spawn a worker thread to get processing off of the GUI
> thread. Then in the worker thread I access a function in a library
> file. The function needs to be able to update some of the forms status
> bar panels. I have had great success in doing the following...
>
> Invoke(new UpdateStatusDelegate(this.UpdateStatus), new object[] { "My
> Message" });
>
>
> BUT, it doesn't work from the function in the library file. I have
> gotten it down to two error messages on compile:
>
>
> 1. The name 'Invoke' does not exist in the current context
> 2. An object reference is required for the nonstatic field, method, or
> property 'MyNamespace._MyFormInstance.UpdateStatus(string)'
>
>
> First, I do not understand why the first error message is occurring. I
> have all "using" statements in the library file set to the same as in
> the form's code file. I am missing something, somewhere.
>
>
> Second, I can see why the second message is occurring. The calling form
>
> instance is non-static. But this doesn't cause any problem when using
> the code snippet in the form's code file.
>
>
> Any suggestions?
>