لدي عملية التي تعمل في الخلفية ولها ويتفوريكسيت (). منذ مدة قد تختلف وأنا بحاجة إلى الانتظار حتى ينتهي. في بعض المناسبات، وأنا بحاجة لإنهاء ذلك قبل أن يكمل وأطلق. Kill () القيادة عبر حدث الطبقة. تتغير الخاصية. HasExited إلى صحيح ولكن التعليمات البرمجية لا يحصل على تمرير خط ويتفوريكسيت (). عمليتي تطلق عميل نقل ملف جافا يستند ويقوم بعملية نقل. تظهر العملية في مدير المهام و كيل () لا تنتهي. منذ أنا لا يهتمون حقا إنهاء العملية ولكن بدلا من ذلك برنامج بلدي للذهاب إلى المهمة التالية، وأضاف كلوز () الحق بعد قتل (). الذي يطلق ويتفوريكسيت ويتيح بلدي التعليمات البرمجية على. وإنهاء العملية في وقت مبكر سيكون احتمال نادر في بلدي التطبيق، ولكن ما زلت في حاجة إليها للعمل، لذلك هذا التنفيذ سوف تضطر إلى القيام به. سأل 9 سبتمبر 13 في 21:15 ويتفوريكسيت هو دعوة مباشرة لنظام التشغيل إلى الانتظار لمقبض العملية لتصبح إشارة. عند انتهاء العملية، سوف يكتمل ويتفوريكسيت. قتل هو دعوة مباشرة إلى تيرمينجبروسيس وهو قتل مع أي أسئلة طرحت. إذا استخدمت بشكل صحيح سيعود ويتفوريكسيت بعد اكتمال قتل. لذلك هناك بعض الأخطاء الأخرى في التعليمات البرمجية الخاصة بك. إنشاء نسخة أبسط وسترى تختفي المسألة. يتم إخفاء الخلل في تعقيد التعليمات البرمجية الخاصة بك. أو، ويتفوريكسيت لم يعود ولكن لم تلاحظ. أو، لم يتم تنفيذ القتل أبدا أو فشل. ومرة أخرى، سيؤدي تبسيط الشفرة إلى الكشف عن هذه المسألة. يمكنك إحضارها إلى 5 خط النسخ أشك في أنك يمكن، ولكن سوف ننظر مرة أخرى إذا كنت تفعل. في التعليقات التي حددتها أن قتل بينغ لا يعمل، ولكن قتل العملية الخاصة بك لا. والسبب في ذلك عادة هو إو غير قابلة للإلغاء. نواة ويندوز تبقي العمليات في جميع أنحاء حتى يتم إو جميع. والخبر السار هو أن العملية ستموت في نهاية المطاف ولن يتم تشغيل أي كود بعد أن عاد كيل. الأخبار السيئة هي أن تنظيف الموارد لم يكتمل تماما. تحتاج الآن إلى التأكد من أن التعليمات البرمجية الخاصة بك يمكن أن تتحرك على الرغم من ويتفوريكسيت لم يعود. للقيام بذلك إد تعيين مانوالريزيتيفنت بعد اكتمال كيل. وبدلا من استدعاء ويتفوريكسيت. يمكنك الحصول على مقبض العملية باستخدام الخاصية process. Handle والانتظار على أي من وايتابلز اثنين لتصبح إشارة. إلقاء نظرة على ما ويتفوريكسيت داخليا لمعرفة كيف يمكن تنفيذ هذا بنفسك (إد نسخ من فئة بروسيسويتهاندل الذي هو الداخلي). وهناك حل أبسط هو استدعاء ويتفوريكسيت (TimeSpan. FromMilliseconds (100)) في حلقة والتحقق من العلم خرجت في كل مرة. الرد أفاتار سبتمبر 9 13 في 23: 00Lets قراءة ما تقول مسن حول ذلك: يتم استخدام الزائد ويتفوريكسيت () () () لجعل الانتظار مؤشر الترابط الحالي حتى ينتهي العملية المرتبطة بها. تقوم هذه الطريقة بإرشاد مكون العملية إلى الانتظار لوقت غير محدود من الوقت لإنهاء العملية. قد يؤدي هذا إلى توقف التطبيق عن الاستجابة. على سبيل المثال، إذا قمت باستدعاء كلوسمينويندو لعملية تحتوي على واجهة مستخدم، قد لا يتم التعامل مع الطلب إلى نظام التشغيل إنهاء العملية المقترنة إذا تمت كتابة العملية عدم إدخال حلقة الرسائل. يضمن هذا التحميل الزائد أن جميع عمليات المعالجة قد اكتملت، بما في ذلك التعامل مع الأحداث غير المتزامنة للإخراج القياسي المعاد توجيهه. يجب استخدام هذا التحميل الزائد بعد إجراء مكالمة إلى التحميل الزائد ويتفوريكسيت (Int32) عند إعادة توجيه الإخراج القياسي إلى معالجات الأحداث غير المتزامنة. هذا هو بالطبع ل. نيت. ما الذي يجعلك تعتقد أنه لا ينتظر حتى تنتهي عملية المذكرة ما هي علامات ذلك ما هو دليل الجمعة، 20 فبراير 2009 8:13 م غير متأكد إذا كان هذا قد تغير مؤخرا ولكن مرة أخرى في اليوم التطبيقات على نافذة المحمول أبدا أغلقت حقا عندما ضرب X لإغلاقها، فإنها مجرد تقليل والحفاظ على التوالي في الخلفية (هذا لم يكن خلل، كان ميزة، منذ المرة القادمة التي تبدأ في التطبيق أنه سيتم البدء بسرعة حقا، ياه وأنا أعرف، مجنون ولكن صحيح) بحيث يمكن أن يكون السبب ويتفوريكسيت ربما يتصرف بغرابة والانتظار لبدء التشغيل التطبيق بدلا من الخروج. ولكن بعد ذلك مرة أخرى هو مجرد تكهنات على أساس كنليجد الإصدارات القديمة من ويندوز موبايل. الجمعة، فبراير 20، 2009 11:03 بيإم إد ترغب في عثرة هذا السؤال. إم على ويندوز موبايل 6 القياسية و إيم تحاول تفرخ مثيل المتصفح. إد ترغب في الانتظار حتى يغلق المستخدم المتصفح. ولكن ويتفوريكسيت يعود سريع للغاية. هنا هي التعليمات البرمجية: بروسيس p نيو بروسيس () p. StartInfo. Arguments كوتكسامبل-سيتكيوت p. StartInfo. Verb كوتوبينكوت p. StartInfo. UseShellExecute فالس p. StartInfo. FileName quIExplore. exequot p. Start () p. WaitForExit () مساجيبوكس. Show (كوتنو يجب أن يكون المتصفح كلوسكوت) ما ينبغي أن يكون الطريق الصحيح للحصول على ريسوتس المتوقع الاثنين، يونيو 08، 2009 10:45 بيإم حيث الرمز. رمز. أليكسب الثلاثاء، يونيو 09، 2009 9:58 بيإم إم رؤية نفس المشكلة، ولكن على زب. أعتقد أن الدليل يمكن أن ينظر إليه في أي مصحح أخطاء (كما أرى)، أو في أي تطبيق وحدة التحكم (وليس بالضرورة على الهاتف المحمول) الأربعاء 02 سبتمبر 2009 8:35 م إلا أنك لا ثم الحصول على كائن العملية التي يمكنك استعمال. إذا حاولت ديم ميبروك كعملية جديدة () ميبروك process. Start (كوتيكسبلوريكوت، رمز كوتيفينانس. أرياكسكسوت) myProc. WaitForExit () لا يزال يعود على الفور. الأربعاء، سبتمبر 02، 2009 8:48 م المشكلة أنت لا تبدأ مثيل جديد من iexplore. exe. أنت مجرد إنشاء نافذة جديدة على العملية الحالية. تخميني هو iexplore. exe يبدأ، يرى مثيل سابق ويتصل مع المثال السابق بحيث يفتح نافذة جديدة، ثم هذا المثال الذي بدأت مخارج على الفور. وبالتالي فإن السلوك هو الصحيح ويتوقع. blog. voidnish الأربعاء، سبتمبر 02، 2009 8:52 م تقوم ميكروسوفت بإجراء استطلاع عبر الإنترنت لفهم رأيك لموقع مسن على الويب. إذا اخترت المشاركة، سيتم تقديم الاستبيان عبر الإنترنت لك عند مغادرة موقع مسن على ويب. هل ترغب في المشاركة
No comments:
Post a Comment