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

مشكلة : الكود لا يتم تنفيذة بالترتيب

بدأه MrProgrammer في 1 يناير 2010 · 5 رد · 486 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخوانى انا كان عندى مشكلة فى مشروع بعملة وهى :

البرنامج بة اداة Timer تبداء العمل عند تحميل البرنامج

ويوجد ايضا زر فى البرنامج عند الضغط علية يقوم بعمل عمليات حسابية كثيرة مما يؤدى الى تهنيج البرنامج لفترة قصيرة ثم عندما ينتهى من العمليات الحسابية يتم ظهور رسالة للمستخدم

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

بل يترك الاجراء نفسة وينتقل الى الاجراء الخاص بالتايمر ثم بعد ذلك يرجع مرة الى الاجراء الذى كان بها فى الاول

لكن ذلك يؤدى الى حدوث خطا فى العمليات الحسابية

ارجو ان اكون اوضحت المشكلة واتمنى ان اجد ردا باذن الله

شكرا لكم والسلام عليكم

#2

كالمعتاد :huh: ارفق الكود حتى نستطيع مساعدتك

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#3

هذة الرسالة تظهر لى عند تنفيذ البرنامج

اقتباس
The CLR has been unable to transition

from COM context 0x1a3008 to COM context 0x1a3178

for 60 seconds.

The thread that owns the destination context/apartment

is most likely either doing a non pumping wait

or processing a very long running operation

without pumping Windows messages.

This situation generally has a negative performance impact

and may even lead to the application becoming

non responsive or memory usage accumulating continually

over time.

To avoid this problem, all single threaded apartment (STA)

threads should use pumping wait primitives

(such as CoWaitForMultipleHandles)

and routinely pump messages during long running operations.

.
#4
Muhammad alaa كتب:

كالمعتاد :huh: ارفق الكود حتى نستطيع مساعدتك

و الله ولى التوفيق

:resentful:

مدونتي: C++ Tips and Tricks

#5

لتعطيل البنامج لفترة من الزّمن استعمل :

Delay(System.DateTime.FromOADate(1))

ضع بدل ال 1 عدد الثواني التي تريد تعطيل البرنامج بها ..

#6
الكتاح كتب:

لتعطيل البنامج لفترة من الزّمن استعمل :

Delay(System.DateTime.FromOADate(1))

ضع بدل ال 1 عدد الثواني التي تريد تعطيل البرنامج بها ..

الف شكرا اخى الغالى على المساعدة

فعلا انت فهمت قصدى كويس جدا وعرفت اية المشكلة

لكن اخى انا وجدت طريقة اخرى لكن ليس بتعطيل البرنامج نفسة وانما قمت بزيادة خاصية Interval الخاصة بال Timer

والحمد لله نجحت التجربة

شكرا لك اخى الكريم

:)

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