الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خطأ : AccessViolationException عند تشغيل openFileDialog

بدأه mksoft في 21 نوفمبر 2013 · 3 رد · 268 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله

 

ارجو المساعدة لو سمحتم ..

 

عند تشغيل openFileDialog وقراءة مصنف إكسل في المرة الأولى يعمل البرنامج بشكل جيد جدا .. لكن عند إلاغلاق النافذة و تشغيلها مرة اخرى و محاولة استدعاء openFileDialog مرة اخرى يحدث الإستثناء التالي :

AccessViolationException   .. حاولت حل المشكلة كثيرا دون جدوى ..

 

انا استعمل .net3.5     نظام التشغيل Win7       فيجوال ستديو 2012

كود البرنامج :

if (openFileDialog1.ShowDialog() == DialogResult.OK)                    {                        String filename = openFileDialog1.FileName;                        if (filename == String.Empty)                            return;                        fileNameLb.Text = filename;                        FileStream stream = new FileStream(filename, FileMode.Open);                        //Reading from a binary Excel file ('97-2003 format; *.xls)                        IExcelDataReader excelReader2003 = ExcelReaderFactory.CreateBinaryReader(stream);                        DataSet result = excelReader2003.AsDataSet();                        String txt = "";                        foreach (DataTable table in result.Tables)                        {                            MessageBox.Show("Table");                            for (int i = 0; i < table.Rows.Count; i++)                            {                                for (int j = 0; j < table.Columns.Count; j++)                                    txt += "\"" + table.Rows.ItemArray[j] + "\";";                                txt += "----";                            }                        }                        MessageBox.Show(txt);                        excelReader2003.Close();                        stream.Close();                        openFileDialog1.Dispose();                    }
#2

السلام عليكم .

أنا قمت بتجريب الكود و هو يعمل ... 

قم بإلغاء  السطر :

openFileDialog1.Dispose();

 و جرب ..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

السلام عليكم ..

شكرا أخي حسام على الرد .. و آسف على تأخري في المتابعة .. بسبب بعض الظروف في التيار الكهربي في غزة ..

 

أخي حسام .. انا جربت الطريقة التي أسردتها سابقا لكن للأسف لم تنجح .. !! لا أعرف السبب الحقيقي و راء هذه المشكلة .. و حاولت كثير حل المشكلة دون فائدة ..

 

طبعا الاستثناء يكون على الشكل التالي :

#4

السلام عليكم ..

أهلا بك أخي ..

أين هو الاستثناء ...؟؟

على كل حال :

 من فيجوال استديو : Tools->Options Debugging->General نلغي الخيار : uncheck option "Suppress JIT optimization on module load" و نقوم بترجمة المشروع من جديد ... clean و rebuild

راجع موضوع مشابه :

الرجاء المساعدة (Attempted to read or write protected mem...

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

مواضيع مشابهة