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

مشكلة في فتح ملف

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

بســم الله الـرحمــن الرحيــم

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

مرحباً بكم يا إخواني سوف أدخل في الموضوع مباشرة

أنا واجهتني مشكلة وهي أنني أعمل برنامج ميديا بالسي شارب

وقد أضفت ملف dll من خارج الدوت نت

وهذا الملف هو

Microsoft.DirectX.AudioVideoPlayback

وعند الضغط على زر فتح يظهر لي شاشة لاختيار الملف المراد تشغيله ثم تحميل الملف في متغير من النوع audio

ولكن عند الضغط على الزرار فتح تظهر الرسالة الآتية

loaderLock is detected

DLL 'D:\work\programming\VS Projects\AudioPlay\AudioPlay\bin\Debug\Microsoft.DirectX.AudioVideoPlayback.dll' is attempting managed execution inside OS Loader lock. Do not attempt to run managed code inside a DllMain or image initialization function since doing so can cause the application to hang.

وبصراحة مش عارف المشكلة دي من إيه

على فكرة الكود هو ده

OF.ShowDialog();

ap = Audio.FromFile(OF.FileName);

وعندما أحذف السطر الثاني يقوم بفتح الشاشة الخاصة بفتح الملفات

أتمنى أن لا أكون قد أثقلت عليكم وأتمنى من الله ثم منكم الرد على مشكلتي

post-116454-1226340966_thumb.jpg

#2

إيه يا جدعان كل ده ومافيش حد عايز يرد ليه

دي مش حاجه صعبة يعني

على فكرة أنا لما فتحت البرنامج من الملف التنفيذي اشتغل من غير ما يعمل أخطاء

لكن أنا عايز اعرف إيه هي الرسالة دي علشان لو جاتت أبقى اعرف هي جات ليه

#3

عندك فى ال

troubleshooting Tips: وصلة إسمها

get information about MDAs

تتبعها

ملحوظة:

يجب أن تكون مسطب عندك الMSDN أو على الأقل الجهاز يكون علخط

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

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#4

بص يا ريس أنا هقوللك إيه الحكاية.

عندك في الدوت نت حاجة اسمها MDA يعني Managed Debugging Assistant.

بو أخدت بالك إن ده مش Error ده مجرد Warning بمعنى إنك لو ضغطت F5 البرنامج هيكمل شغل أما لو كان Error لو ضغطت F5 الرسالة هتظهر تاني وتالت لحد ما تعمل Handling للـ Error.

طيب, ما هو MDA؟

كما هو ملاحظ من اسمه Assistant يعني المساعد ووظيفته هي إنه بيساعدك في خلال عملية الـ Debugging يعني وانت مشغل Visual Studio وضغطت F5 أو Run بيساعدك على إنك تبعد عن الأخطاء اللي ممكن تسبب لك مشاكل في برنامج الأخطاء اللي مش ظاهرة او اللي صعب تتعامل معاها. يعني مثلا في Visual Studio 2005 بيقوم MDA بمراقبة حوالي 27 نوع من الأخطاء. طبعا أكيد في Visual Studio 2008 بيقوم بمراقبة أخطاء أكثر.

وفي مشكلتك دي الـ MDA اكتشف خطأ ممكن يسببلك البرنامج إنه يهنج بسبب عملية الـ Deadlock اللي ممكن تحصل.

ملاحظة:

لإلغاء هذه الرسالة مرة أخرى

في الـ Visual Studio افتح قائمة Debug ثم اضغط Exceptions.

هتظهر لك الشاشة دي

2qjlq2v.jpg

هتلاحظ إن في جزء اسمه Managed Debugging Assistants وهو ده المطلوب

اضغط علامة + اللي جنب MDA اقتحها هيظهرلك قايمة فيها كل الحاجات اللي MDA بيقوم بمراقبتها.

انزل تحت هتلاقي حاجة اسمها LoaderLock وفي خانة Thrown هتلاقي علامة صح شيل علامة الصح دي.

وكده الرسالة دي مش هتظهرلك أبداااااااااااااااااااااااااااااا

f5c2g7.jpg

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