Monday, 25 April 2011

Windows - No Disk - unhelpful Error Help messages

Windows - No Disk
Exception Processing Message c0000013 Parameters 75b6bf9c 75b6bf9c.


I am trying to run a QuickBooks QBFC 10.0 C# application and every time it tries to BeginSession I get this error...  Continue / Try again / Cancel...

I presume the "No Disk" error could indicate that there's a link to a file missing... nothing has changed...

Whilst searching for a solution I discovered www.wiki-errors.com - a good idea I thought - but 1) it took this meaningless error and threw a load of meaningless rubbish back at me... I am no wiser why the problem occurred and I have now spent another 10 minutes reading something that didn't help... 2) I can't edit the Wiki at Wiki-errors.com ... doesn't that defeat the purpose of a wiki?  I can't see how I can sign up and edit it either...  a truly beautiful social solution would be to allow lots of technical minded people look up an error and add our experiences to the solution... I want to edit that page and tell my solution...

but no.. I have now added yet another blog post to the massive number of blog posts about the "Windows - No Disk" error that is probably not very useful to anyone unless they happen to be developing QBFC10.0 in C# and one day their install goes tits up...

Quick solution:  If you're using a third-party library and developing software... just reinstall the software... see if that helps...

Actually I am not sure that was the answer now... there's a property on the referenced Interop.QBFC10lib.dll

  • Embed Interop Types = True / False - I changed this from True to False as well as re-installed the underlying library... so either change could have resolved the problem...
[Edit]
Just when I thought it was all fixed up... I now get the error again... it's gone from working to not working in the space of a blog post.

Well on further reading through the internet sludge... I have switched back to debug again... when I press Continue my program does actually run... it was not obvious at first because the program returns no data on first run at the moment, whereas it would have done a week ago, I forgot...  so stepping back through the pages, I can actually see data.  But I get the No Disk error every time I begin a session with QuickBooks.

I've got a couple of USB storage devices plugged into this laptop: an external USB HD and my printer has a card reader.  When I disconnect my printer, the error goes away.  When I connect my printer the error returns.  The external HD makes no difference.

Recap.. my printer's card reader is throwing an error in my C# QBFC10lib project when I try to create a session... because there is no sd/cf card in the printer.  That's crazy... How on earth do I prevent this on user's computers... I am calling the BeginSession with a blank field... that's supposed to find the QB file that is currently open.  So the QuickBooks SDK  is calling a Windows function, that is returning a 'No Disk' error... shouldn't QuickBooks deal with that?

Why provide us with a function that will bomb out randomly?

New Solution:   Don't let QBFC10lib search for the file you need to access.  Specify it.

Now to fix this inconsistent accessibility error (compiler error CS0051)...
Inconsistent accessibility: parameter type 'type' is less accessible than method 'method'

Resolved... seems that if you declare a public method, then all the types used as parameters must be declared public too... like selling a DVD of a film to everyone and only allowing the film to be played by DVD players in the right region...  or like distributing a software library which will bomb out randomly under certain unhandled circumstances...

No comments:

Post a comment