PDA

View Full Version : سوال: علت بروز خطای System.AccessViolationException was unhandled



sina_saravi1
سه شنبه 12 مهر 1390, 06:41 صبح
سلام

دارم رو یه پروژه کار میکنم که توش از دیالوگ ها ( Open file dialog , Folder Browser dialog و ... ) استفاده میکنم .

بعضی از اوقات یه سری پیغام خطا میده که من دلیلشو نفهمیدم و اولین باره باهاش برخورد کردم . جالب اینجاست که بعضی وقت ها هم نمیده .

این متن پیغام :



System.AccessViolationException was unhandled
Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
Source="System.Windows.Forms"
StackTrace:
at System.Windows.Forms.FileDialogNative.IFileDialog. Show(IntPtr parent)
at System.Windows.Forms.FileDialog.RunDialogVista(Int Ptr hWndOwner)
at System.Windows.Forms.FileDialog.RunDialog(IntPtr hWndOwner)
at System.Windows.Forms.CommonDialog.ShowDialog(IWin3 2Window owner)
at System.Windows.Forms.CommonDialog.ShowDialog()
at HeyatMohebban.frmFileMan.ToolStripButton2_Click(Ob ject sender, EventArgs e) in I:\Projects\HeyatMohebban\HeyatMohebban\frmFileMan .vb:line 83
at System.Windows.Forms.ToolStripItem.RaiseEvent(Obje ct key, EventArgs e)
at System.Windows.Forms.ToolStripButton.OnClick(Event Args e)
at System.Windows.Forms.ToolStripItem.HandleClick(Eve ntArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(M ouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventIntera ctive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(Event Args e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEven tArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& 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.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(ApplicationCo ntext context)
at Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.OnRun()
at Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.DoApplicationModel()
at Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.Run(String[] commandLine)
at HeyatMohebban.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 78
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context( Object state)
at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:



لطفا کمک کنید

Mani_rf
سه شنبه 12 مهر 1390, 12:57 عصر
1- عنوان تاپیک که ایجاد کردی مناسب نیست؛ لطفا قبل از حذف شدن عوضش کن.

2- علت بروز این خطا اینه که احتمالا داری روی حافظه ای غیر از حافظه اصلی سیستم مثل فلش فایلی یا درایوی شیر شده در شبکه را ذخیره می کنی که یا اجازه نوشتن روی اون را نداری، یا خراب شده و بعضی وقت ها از کار می افته. یا این که اجازه دسترسی را قطع میکنه و این خطا رو بروز میده

sina_saravi1
سه شنبه 12 مهر 1390, 13:30 عصر
1- عنوان تاپیک که ایجاد کردی مناسب نیست؛ لطفا قبل از حذف شدن عوضش کن.

2- علت بروز این خطا اینه که احتمالا داری روی حافظه ای غیر از حافظه اصلی سیستم مثل فلش فایلی یا درایوی شیر شده در شبکه را ذخیره می کنی که یا اجازه نوشتن روی اون را نداری، یا خراب شده و بعضی وقت ها از کار می افته. یا این که اجازه دسترسی را قطع میکنه و این خطا رو بروز میده

خیلی ممنونم که بالاخره جواب دادین
دیگه داشتم نا امید میشدم .
من نمیدونم ( یا نمیتونم ) عنوان تاپیک رو تغییر بدم .

یعنی امکان داره به خاطر باینری ریدر و رایتر باشه ؟ از پارامتر هایی که استفاده کردم برای این کار؟

لطفا شما یه نمونه از استفاده ی باینری ریدر بذارید .
فایل ها هم تو هارد سیستمه نرم افزار هم همینطور

sina_saravi1
سه شنبه 12 مهر 1390, 15:12 عصر
این خطا زمانی که میخوام OpenFileDialog رو نمایش بدم و خروجی DialogResult رو مورد سنجش قرار بدم رخ میده

کدش :
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Mani_rf
سه شنبه 12 مهر 1390, 21:45 عصر
احتمالا آخرین مسیر که باز شده را ذخیره می کنی و موقع دوباره باز شدن به شما پیغام میده که وجود نداره؛ شما کد خودتون رو تو Try ... Catch بنویسید تا بتونید این خطا را رد کنید و مسیر جدید به دیالگتون معرفی کنید.

sina_saravi1
سه شنبه 12 مهر 1390, 22:04 عصر
اصلا نیو هم میکنم بازم تاثیر نداره

من قبلا زیاد از دیالو ها استفاده کردم

ولی این اولین باریه که داره اذیت میکنه

یک کم توضیح بدم از پروژم شاید بیشتر به حلش کمک کنه

من یه فرم اصلی دارم و با 10 - 15 تا فرم که هر دفعه نیو میکنمشون و بازشون میکنم
همشون رو هم با Owner مشخص ( همون form.show(me) ) باز میکنم .

میتونه تاثیر هم بذاره؟

sina_saravi1
شنبه 16 مهر 1390, 10:47 صبح
امکان داره این جور خطا ها به خاطر سیستم امنیتی ویندوز باشه ؟

من از ویندوز سون استفاده میکنم و آنتی ویروس و یا چیز اضافه ای رو سیستمم نصب نکردم.

sina_saravi1
شنبه 16 مهر 1390, 17:22 عصر
یعنی واقعا تا حالا برا کسی پیش نیومد ؟

پس عجب برنامه نویسی هستم من.... :گیج:

HAMID484
پنج شنبه 10 آذر 1390, 17:16 عصر
آقای sina_saravi1 (http://barnamenevis.org/member.php?79280-sina_saravi1) مشکلتون حل شد؟
منم دقیقا همین مشکل رو دارم. برنامه در xp درست کار میکنه اما در 7 موقع باز کردن open file dialog این پیغام رو میده. کسی نیست کمک کنه؟

sina_saravi1
پنج شنبه 10 آذر 1390, 21:29 عصر
آقای sina_saravi1 (http://barnamenevis.org/member.php?79280-sina_saravi1) مشکلتون حل شد؟
منم دقیقا همین مشکل رو دارم. برنامه در xp درست کار میکنه اما در 7 موقع باز کردن open file dialog این پیغام رو میده. کسی نیست کمک کنه؟
نه مشکل من حل نشد
اون پروژم نصفه کاره موند

va2012
چهارشنبه 28 دی 1390, 18:38 عصر
منم همین مشکل رو دارم . توی اینترنت هم خیلی گشتم راه حل درست و حسابی نداره . مثلا من دو تا پروژه دارم که در هر دو برای back up و restore از یک دیالوگ استفاده کردم و جالبه یکی از پروژه ها درست اجرا میشه ولی دومی ارور میده !!!! پس میشه نتیجه گرفت که از دیالوگ ها نیست و باید جای دیگه ای دنبال راه حل بود.

rafiee.mostafa64
چهارشنبه 23 مرداد 1392, 02:39 صبح
سلام

دارم رو یه پروژه کار میکنم که توش از دیالوگ ها ( Open file dialog , Folder Browser dialog و ... ) استفاده میکنم .

بعضی از اوقات یه سری پیغام خطا میده که من دلیلشو نفهمیدم و اولین باره باهاش برخورد کردم . جالب اینجاست که بعضی وقت ها هم نمیده .

این متن پیغام :


لطفا کمک کنید
از زمانی که این سوال مطرح شده تا الان نزدیک دو سال میگذره.
کسی نتونسته به جواب برسه؟؟
منم به همین مشکل برخورد کردم ولی واقعا نمیدونم باید چی کار کرد:گریه::گیج: