473,405 Members | 2,445 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

The object is currently in use elsewhere

Has anyone come across this exception before when dealing with C#
graphics? Have come across some answers that point to the
accelleration control under the screen's
properties/settings/advanced/troubleshooting.

ie the graphics driver.

Other answers include disposing, revalidate.

Any suggestions would be appreciated.

It occurs when I have my GUI is operating fine and I move the Windows
FORM accross the screen. Microsoft report it as a bug, but only for
the PCTABLET.

cheers

Nov 16 '05 #1
9 11068
talljames,

Without seeing what it is you are trying to do, or the calls you are
making, it's difficult to offer anything. Can you show a sample of what the
problem is?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"talljames" <ta*******@hotmail-dot-com.no-spam.invalid> wrote in message
news:41**********@Usenet.com...
Has anyone come across this exception before when dealing with C#
graphics? Have come across some answers that point to the
accelleration control under the screen's
properties/settings/advanced/troubleshooting.

ie the graphics driver.

Other answers include disposing, revalidate.

Any suggestions would be appreciated.

It occurs when I have my GUI is operating fine and I move the Windows
FORM accross the screen. Microsoft report it as a bug, but only for
the PCTABLET.

cheers

Nov 16 '05 #2
Bit hard to post the code. But basically I have a clock in a windows
form using the Threading.Timer (as this one is able to operate in a
multithreaded environment). I set the clock off and running. Then I
grab the form with the mouse and move it accross the screen. That's
when the following exception occurs.
An unhandled exception of type 'System.InvalidOperationException'
occurred in system.windows.forms.dll

Additional information: The object is currently in use elsewhere.

Can't seem to track down the error. I have tried it on both Windows
XP and Windows 2000. On the 2000 box I changed the acceleration and
it fixed it. But, this doesn't work with XP.

Any ideas?

Nov 16 '05 #3
"talljames" <ta*******@hotmail-dot-com.no-spam.invalid> wrote in message
news:41********@Usenet.com...
Bit hard to post the code. But basically I have a clock in a windows
form using the Threading.Timer (as this one is able to operate in a
multithreaded environment). I set the clock off and running. Then I
grab the form with the mouse and move it accross the screen. That's
when the following exception occurs.
An unhandled exception of type 'System.InvalidOperationException'
occurred in system.windows.forms.dll

Additional information: The object is currently in use elsewhere.

Can't seem to track down the error. I have tried it on both Windows
XP and Windows 2000. On the 2000 box I changed the acceleration and
it fixed it. But, this doesn't work with XP.

Any ideas?


What happens if you stop the clock while you move it? Then you'd have to
jump ahead to the correct time when it is released...

--
Mabden

Nov 16 '05 #4
Thanks for the posting Mabden. Not much luck with stopping the clock.
The other error I can sometimes get is :

An unhandled exception of type 'System.NullReferenceException'
occurred in system.windows.forms.dll

Additional information: Object reference not set to an instance of an
object.

I am using grfx.save to write some graphics in the background with the
use of drawLine, drawEllipse, drawRectangle, etc then I am restoring
it so that I can reduce the flicker in the clock. Code is very
similar to Petzoid's book "Programming Windows with C#".

When I try and move the windows form it crashes. Have looked at a
snippet of code involving getHdc(), but I shouldn't have to go this
far I don't think.

Any other suggestions would be appreciated.

with regards

Nov 16 '05 #5
Thanks for the posting Mabden. Not much luck with stopping the clock.
The other error I can sometimes get is :

An unhandled exception of type 'System.NullReferenceException'
occurred in system.windows.forms.dll

Additional information: Object reference not set to an instance of an
object.

I am using grfx.save to write some graphics in the background with the
use of drawLine, drawEllipse, drawRectangle, etc then I am restoring
it so that I can reduce the flicker in the clock. Code is very
similar to Petzoid's book "Programming Windows with C#".

When I try and move the windows form it crashes. Have looked at a
snippet of code involving getHdc(), but I shouldn't have to go this
far I don't think.

Any other suggestions would be appreciated.

with regards

Nov 16 '05 #6
"talljames" <ta*******@hotmail-dot-com.no-spam.invalid> wrote in message
news:41********@Usenet.com...
Thanks for the posting Mabden. Not much luck with stopping the clock.
The other error I can sometimes get is :

An unhandled exception of type 'System.NullReferenceException'
occurred in system.windows.forms.dll

Additional information: Object reference not set to an instance of an
object. [snip] Any other suggestions would be appreciated.


One possible cause for the "The object is currently in use elsewhere"
problem is if you access UI elements (forms or other controls) from non-UI
threads. If you are using multi-threaded code, then I'd double check it. One
way to do this is to put this assert as the first line of methods in your UI
classes:

System.Diagnostics.Debug.Assert(!this.InvokeRequir ed, "InvokeRequired");

Then run your application and if you hit the assert, you know you've got a
threading problem. Or, if you don't hit the assert, then at least you've
ruled out this potential problem.

Regards,
Sami
Nov 16 '05 #7
Thanks Sami,

I placed that line of code just after my InitializeComponent(); in the
constructor of my main UI. Yep, and something else happened. I ran
the .NET application, got the clock working and then attempted to
move the windows form on one machine and this is the error I get.

An unhandled exception of type
'System.Runtime.InteropServices.SEHException' occurred in
system.windows.forms.dll

Additional information: External component has thrown an exception.

Will do some web surfing to try and figure out what it means.

thanks again for your posting.

with regards
James

Nov 16 '05 #8
Well, I placed a try and catch around the main application.run and
this is what I get. Anyone with a suggestion?

with regards :?

at System.Windows.Forms.UnsafeNativeMethods.CallWindo wProc(IntPtr
wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at System.Windows.Forms.NativeWindow.DefWndProc(Messa ge& m)
at System.Windows.Forms.Control.DefWndProc(Message& m)
at System.Windows.Forms.Form.DefWndProc(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
at System.Windows.Forms.Form.WmSysCommand(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage (Message&
m)
at System.Windows.Forms.ControlNativeWindow.WndProc(M essage&
m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr
hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.CallWindo wProc(IntPtr
wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at System.Windows.Forms.NativeWindow.DefWndProc(Messa ge& m)
at System.Windows.Forms.Control.DefWndProc(Message& m)
at System.Windows.Forms.Form.DefWndProc(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
at System.Windows.Forms.Form.WmNcButtonDown(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage (Message&
m)
at System.Windows.Forms.ControlNativeWindow.WndProc(M essage&
m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr
hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at
System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG&
msg)
at
System.Windows.Forms.ComponentManager.System.Windo ws.Forms.UnsafeNativeMethods+IMsoComponentManager. FPushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.ThreadContext.RunMessageLoopI nner(Int32
reason, ApplicationContext context)
at System.Windows.Forms.ThreadContext.RunMessageLoop( Int32 reason,
ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)

Nov 16 '05 #9
Yes, after hours of tracking down the bug, it looks like a thread and
main UI problem. I wish that Microsoft had an easier solution to
this rather than have to create invokes. I ended up having to create
an event and then subscribe to that event in the main form and then
run the invoke as just placing a delegate and invoke solution did not
do the trick in this case.

Also, the .NET Invoke method does not like to be placed in a static
method.

This error did not leave me with any clues as to where it came from ie
no method names from my code or line numbers. Another thing that
Microsoft could have in the debugger, if possible.

So, what I thought was perhaps a DataGrid/Table on a form problem
turned out to be a thread problem after all. Hope this helps others
out there on this error as there was little around on the web. This
problem crashed the app.

Cheers

Nov 16 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: 6tc1 | last post by:
Hi all, I have just finished debugging a windows application and have solved the problem - however, I want to be sure that I understand the problem before I move on. Before I detail the problem,...
0
by: Sam Barham | last post by:
I have a ListView control, for which I have overwritten the WndProc method to gain access to the WM_PAINT message and generate my own OnPaint and OnPaintBackground messages, in order to colour the...
1
by: Hadar | last post by:
Hi, I'm getting "object is currently in use elsewhere" when I use System.Drawing.Graphics.MesureString. This is what I do: My controls use a utility class the helps it to mesure strings. To...
1
by: kCura | last post by:
First off, I'm sorry if this isn't the write thread to post this message but I couldn't find one dedicated to System.Drawing. I'm developing an intranet application in VB.NET that uses a Hosted...
4
by: Jos Lavrijsen | last post by:
When i try to re-use brushes or pens over multiple threads, i often get an InvalidOperationException with the message 'object is currently in use elsewhere'. I also tried this by re-using fonts...
4
by: JJ | last post by:
When I run my form prog, if I maximise, then minimise (i..i. force the GUI to redraw) I get the following error: "The object is currently in use elsewhere" At this line: ...
4
by: Mau Kae Horng | last post by:
Hello, I have a C# Windows Forms application for machine. Due to some unknown reasons, the application face problems with unexpected exceptions happening, resulting in two red lines forming a...
4
by: =?Utf-8?B?Qm9uaQ==?= | last post by:
Hi, I got this problem. I'm implementing a pluggable winform program. My plugins are usercontrol and I load them in my program through a interface. Now if I close my application an error occurs:...
0
by: para15000 | last post by:
Hello I have a C# desktop application in which one thread that I create continously gets an image from a source(it's a digital camera actually) and puts it on a panel(panel.Image = img) in the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.