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

عاجل للمحترفين أنا مبرمج قديم ولم أعرف حل لهذه المشكلة !؟

بدأه محمد أبو البراء في 6 يونيو 2008 · 5 رد · 855 مشاهدة · في نظام تشغيل Windows
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

المشكلة :

لدي زر أمر مخصص لمعالجة بعض البيانات وأحياناً تطول فترة المعالجة لعدة دقائق والمشكلة أنه بعد

5 ثواني من المعالجة يتحول مؤشر الفارة إلى رمزالساعة وعند الكبس بزر الفأرة على النموذج فإن النظام يصبح

خارج التركيز ويكتب في شريط عنوان النموذج "لم تحدث استجابة"

ويعود التركيز للنظام بعد انتهاء عملية المعالجة ويخيل للمستخدم أن النظام هنّق وهو لم يهنّق

كيف أستطيع حل هذه المشكلة وأجعل النظام لا يفقد التركيز أبداً ؟؟!!

#2

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

اخى الكريم الذى يحدث كالتالى

مايكروسوفت ويندوز هو نظام تشغيل يدعم البيئة الرسومية GUI والتى بدورها تعتمد على الاحداث فى عملها Event-Driven

والاحداث متنوعة بين احداث وحدات الادخال مثل الفارة ولوحة المفاتيح من جانب واحداث النظام من جانب اخر (مثل رسم نافذة)

نظام ادارة الاحداث Event-Driven Sytem يتيح للتطبيقات ان تستقبل المدخلات بشكل غير متوقع اما من الفارة او لوحة المفاتيح

بمعنى الحرية للمستخدم ونظام التشغيل يسجل مايحدث ثم يعلم التطبيقات بما حدث من احداث تهمها (مثل تحرك نافذة التطبيق)

والتطبيقات تستجيب تبعا لما حدث من احداث تخصها واطلعها عليها نظام التشغيل (هذا هو العمل بشكل عام ويمكن للتطبيقات مراقبة الاحداث التى لا تخصها ولكن

ذلك ليس موضوعنا الان)

ويشتمل نظام التشغيل على مايعرف بنظام لادارة العمليات Process Managment System والذى يسمع بان تعمل العمليات او المهام المختلفة

معا على التوازى كان ترى فيلم تسجيليا وفى نفس الوقت تتم عملية طباعة او كان تقوم بشتغيل اكثر من برنامج مثل الورد والاكسل فى نفس الوقت وهكذا

فى حالتنا هذه (المشكلة التى تعرضت لها يااخى الكريم)

تتعلق بنظام ادارة الاحداث

ان نظام التشغيل يتبادل الرسائل Messages بينه وبين التطبيق Application الذى قمت بعمله

هذا الحوار لابد منه حتى يستطيع النظام ان يقدم الخدمات لك ومن هذه الخدمات ان يعمل تطبيقك فى البيئة الرسومية ويتمتع بمزايا نظام ادراة الاحداث

يفترض النظام من التطبيقات ان لاتقوم بعمل مهام لفترة طويلة لانها فى هذه الحالة تجعل النظام يفقد القدرة على متابعة مهامه التى تخص تطبيقك (فقط).

واذا اشترطت التطبيقات ان تقوم بعمل مهام لمدة طويلة حينها لابد ان تضع فى الاعتبار ان تضع قسطا من الوقت للنظام حتى يقوم بمعالجة الرسائل الخاصة بالتطبيق

هذا احد الحلول وهو الحل المناسب لمشكلتك

كل ماعليك ان تضع الامر DoEvents داخل الحلقة Loop التى هى سبب استغراق مدة زمنية طويلة للمعالجة

والله الموفق

تم تعديل هذه المشاركة بواسطة محمود سمير في 7 يونيو 2008 في 00:23

#3

هههههه

والله مدري وش الموضوع لكن اعجبتني سالفة : تركيز الجهاز

يعني الجهاز احيانا يسطل واحيانا يركز عال العال

#4

أشكر الأخوة الأعضاء الذين قاموا بالرد على الموضوع وأخص بالشكر والامتنان للمهندس محمود سمير على هذه المشاركة الأكثر من رائعة والتي حلت لي مشكلتي ولكم مني خالص الدعاء وأطيب الأمنيات

ودمتم سالمين

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

#5

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

اقتباس
أشكر الأخوة الأعضاء الذين قاموا بالرد على الموضوع وأخص بالشكر والامتنان للمهندس محمود سمير على هذه المشاركة الأكثر من رائعة والتي حلت لي مشكلتي ولكم مني خالص الدعاء وأطيب الأمنيات

ودمتم سالمين

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

العفو اخى الكريم

اهلا ومرحبا بك دائما وفى اى وقت

وربنا يوفقنا جميعا ان شاء الله لما فيه الخير

والله الموفق

#6

شكرا أخي محمود على المعلومات ,,,

وللأخ أبو البراء , هذا ليس مكان الموضوع , مكانه مثلا في قسم بناء التطبيقات

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…