I cant understand what's going on here 

In MonoDevelop I just get an unhandled exception

In Vis studio I get more of a clue as it says there's a sharing violation 

 

Weirdly stepping through in the debugger it seems to go round the loop twice
(i.e. it steps down to Bitmap.compress then springs back to the File.Exists
line and steps through it again 

hence one can understand that if the stream is already open there may be a
sharing issue

But why does it go round twice?  It gets to the line Bitmap.Compress() then
loops back to File.Exists();

If I remove the File.Exists code then it crashes out at Bitmap.Compress with
the contradictory message

"System.IO.IOException: Win32 IO returned ERROR_SUCCESS"

 

If the File.Exists code is left in I get a sharing violation when it gets to
the Fielstream line 

Presumably because FS is still open having already run through that code
once before.

What is going on - why does it suddenly decide to revisit the earlier lines
of code? Or run through a line of code twice?

 

 

public static void saveBMP(Context cntxt,string filename)

        {

            if (File.Exists(filename))     // shouldn't have to do this if
FileShare.Delete is working as I understand it

            {

                File.Delete(filename);      // on second loop around it
deletes file but then there is an error with file does not exist

            }

 

            FileStream fs = new FileStream(filename, FileMode.Create,
FileAccess.Write, FileShare.Delete);

            System.IO.BufferedStream buf = new System.IO.BufferedStream(fs);

            Bitmap bmp = WXclass5.windmap;

            bmp.Compress(Bitmap.CompressFormat.Png, 90, buf);

            fs.Close();

            buf.Close();

            bmp = null;

            //fout.Close();

            WXclass5.pnglist = getlistpngs(cntxt);

        }

        

 

_______________________________________________
Monodroid mailing list
[email protected]

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to