تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة تهنيج البرنامج
#1
السلام عليكم
اخوتى حينما اعمل حلقة تكرارية من خلال التايمر بهذا الكود

[JS]
   For I = 0 To CheckedListBox1.CheckedItems.Count - 1
            Dim xBack = xFacebook.Post("/" & CheckedListBox1.CheckedItems(I).ToString & "/feed", upload)
            Thread.Sleep(Integer.Parse(Timer1.Interval))
[/JS]


البرنامج لا استطيع ان اوقفه ولا حتى احركه الا حينما ينتهى من الحلقة
التكرارية فممكن حل لهذا الامر الله يكرمكم
الكود محطوط فى التايمر
الرد
تم الشكر بواسطة:
#2
اخي الكريم ابو روضة .
الظاهر انك تحاول ان تنشر تعليقات او ما شابه في الفيس بوك من روابط ما محتواة في CheckedListBox
و عملية النشر تاتي ضمن التايمر على ما يبدو و وفق حلقة عناصرها عدد العناصر المحددة في الكائن السابق
لا ادري ان كنت على صواب .... المهم في الموضوع
لاحظ ان كل Tick للتايمر سيدخل في حلقة جديدة و عملية اعادة لعملية قد تمت وهكذا على الاقل من الكود الظاهر امامي و الذي يبدو ناقص على ما اعتقد , اذ لا وجود لشيئ يوقفه.... و بكل حال
المكاتب الخاصة بالفيسبوك لها اصول للتعامل من خلال اطلاعي السريع على التوثيق الخاص بها
و لكي لا اطيل عليك ساعطيك الروابط الخاصة بها وفيها من الاكواد و الامثلة التي تشرح طرق التعامل معها
و عليك انت ان تجد الطريقة المناسبة لك
و كمداخلة بسيطة اخي الكريم استخدم  Task افضل و اسرع من الـ Thread و تعطيك اداء اقوى و اكثر ثباتاً و تستغل كل مصادر الجهاز و لا تؤدي الى تهنيج البرنامج ولا الى طفح في الذاكرة اذ انها تسير بشكل متزامن و تعمل على اكثر من نواة اذا كنت تمتلك جهاز باكثر من نواة تشغيل , و كذلك هي لا تقوم بعملية تبديل بين المهام كما يحصل مع Thraed مما يؤدي الى سرعة تنفيذها

الروابط

اولاً المجموعة الرسمية المعتمدة من FaceBook (التي طورتها فيسبوك) ستجدها في الاعلى , و في نفس الصفحة ستجد في الاسفل المجموعات التابعة للجهات الاخرى (الشركات) و كل لغة لها مكتبتها , اختر منها ما يتناسب مع جهازك
https://developers.facebook.com/docs/apis-and-sdks

الرابط الثاني و هو الخاص بشركة مكروسوفت (جهة اخرى)
https://developers.facebook.com/docs/app...indows-sdk

Windows SDK for Facebook

http://microsoft.github.io/winsdkfb/auth/



و اخيراً هذا الروابط تشرح و تؤكد استخدام  Await/Async  في التعامل مع الفيسبوك
await

async and await: Why Do We Need Them


مداخلة: بدلا من استخدامك للتايمر يمكنك انشاء مصفوفة Task عددها يساوي عدد المواضيع المحددة وتقوم بادخالها في جملة For

و استخدام Wait بالتزامن مع Thread (فقط لرؤية النتائج) و ترى مدى فعالية استخدام  Await/Async     

بالتوفيق اخي الكريم
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة: ابو روضة , zinom
#3
(30-12-16, 02:23 AM)ابو ليلى كتب : اخي الكريم ابو روضة .
الظاهر انك تحاول ان تنشر تعليقات او ما شابه في الفيس بوك من روابط ما محتواة في CheckedListBox
و عملية النشر تاتي ضمن التايمر على ما يبدو و وفق حلقة عناصرها عدد العناصر المحددة في الكائن السابق
لا ادري ان كنت على صواب .... المهم في الموضوع
لاحظ ان كل Tick للتايمر سيدخل في حلقة جديدة و عملية اعادة لعملية قد تمت وهكذا على الاقل من الكود الظاهر امامي و الذي يبدو ناقص على ما اعتقد , اذ لا وجود لشيئ يوقفه.... و بكل حال
المكاتب الخاصة بالفيسبوك لها اصول للتعامل من خلال اطلاعي السريع على التوثيق الخاص بها
و لكي لا اطيل عليك ساعطيك الروابط الخاصة بها وفيها من الاكواد و الامثلة التي تشرح طرق التعامل معها
و عليك انت ان تجد الطريقة المناسبة لك
و كمداخلة بسيطة اخي الكريم استخدم  Task افضل و اسرع من الـ Thread و تعطيك اداء اقوى و اكثر ثباتاً و تستغل كل مصادر الجهاز و لا تؤدي الى تهنيج البرنامج ولا الى طفح في الذاكرة اذ انها تسير بشكل متزامن و تعمل على اكثر من نواة اذا كنت تمتلك جهاز باكثر من نواة تشغيل , و كذلك هي لا تقوم بعملية تبديل بين المهام كما يحصل مع Thraed مما يؤدي الى سرعة تنفيذها

الروابط

اولاً المجموعة الرسمية المعتمدة من FaceBook (التي طورتها فيسبوك) ستجدها في الاعلى , و في نفس الصفحة ستجد في الاسفل المجموعات التابعة للجهات الاخرى (الشركات) و كل لغة لها مكتبتها , اختر منها ما يتناسب مع جهازك
https://developers.facebook.com/docs/apis-and-sdks

الرابط الثاني و هو الخاص بشركة مكروسوفت (جهة اخرى)
https://developers.facebook.com/docs/app...indows-sdk

Windows SDK for Facebook

http://microsoft.github.io/winsdkfb/auth/



و اخيراً هذا الروابط تشرح و تؤكد استخدام  Await/Async  في التعامل مع الفيسبوك
await

async and await: Why Do We Need Them


مداخلة: بدلا من استخدامك للتايمر يمكنك انشاء مصفوفة Task عددها يساوي عدد المواضيع المحددة وتقوم بادخالها في جملة For

و استخدام Wait بالتزامن مع Thread (فقط لرؤية النتائج) و ترى مدى فعالية استخدام  Await/Async     

بالتوفيق اخي الكريم



ماشاء الله عليك اخى العزيز ابو ليلى ربنا يكرمك ويبارك فى عمرك ويحفظك انت  و اولادك


اللهم امين امين امين... وبرغم اننى لم افهم كلامك لانى مبتدأ لكن من الواضح انك فعلا متميز وأدركت مطلبى ولم تبخل بالرد..... وساء عرفت الحل انا أم لا فحقيقى جزاك الله خيرى الدارين... " انا بعمل برنامج نشر على الفيس " أدينى بحاول والله المستعان
وللعلم انا عملت هذا الكود بدل التايمر
Thread.Sleep(1000 * 60 * NumericUpDown2.Value)
لكن مش عارف اعمل له زر ايقاف يعنى ايقاف مؤقت
كما نفعل مع التايمر والتجمد على فكرة اختفى
والبرنامج اشتغل تمام وما ينقصه فقط زر ايقاف
وعلى فكرة هو بالدوت نت ليس سى شارب
الرد
تم الشكر بواسطة: zinom , ابو ليلى


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في regex farfour 1 74 23-04-19, 12:13 AM
آخر رد: fouadhdfouad
Exclamation مطلوب هذا البرنامج من فضلكم kador 7 121 21-04-19, 11:42 PM
آخر رد: elgokr
  مشكلة حفظ التاريخ samira20 17 305 20-04-19, 06:17 AM
آخر رد: elgokr
  [VB.NET] مشكلة برنامجي ببعض النسخ محمد اسماعيل 4 88 19-04-19, 11:43 AM
آخر رد: elgokr
  [VB.NET] مشكلة في الاستعلام اسامه الهرماوي 4 69 18-04-19, 07:05 PM
آخر رد: ابراهيم ايبو
  مشكلة تظهر عند العميل اسامه الهرماوي 3 67 18-04-19, 03:59 AM
آخر رد: ابراهيم ايبو
  [نقاش] طلب بيسط وهو تشغيل البرنامج خاصتي اسامه الهرماوي 2 82 18-04-19, 02:58 AM
آخر رد: اسامه الهرماوي
  مشكلة فى جلب كامل الصفحة ابو روضة 5 114 15-04-19, 05:38 PM
آخر رد: ابو روضة
  [تم الحل] مشكلة فى تحويل هذا الكود الى كلاس ابو روضة 3 132 10-04-19, 11:35 PM
آخر رد: ابو روضة
  أريد كود نسخ البرنامج من مكان لمكان PeterGhattas082460 2 61 09-04-19, 03:56 AM
آخر رد: elgokr

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم