إخراج قياسي ريادتويند ويتفوريكسيت ف
أنا أكتب تطبيق سطر الأوامر في ف. هذا التطبيق يدعو واحد آخر، msxsl. exe، لتشغيل تحويل شسل. أنا باستخدام فئة العملية للقيام بذلك: هذا الجزء يعمل كبيرة. ما أريد أن تكون قادرة على عرض الإخراج من هذه العملية إلى وحدة التحكم من طلبي. لقد قرأت عدة وظائف تشرح هذه الطريقة، ولكن لا يبدو أنها تعمل في هذه الحالة. الإخراج هو سلسلة فارغة. لقد تحققت من أنه إذا قمت بتشغيل مسكسل القابل للتنفيذ من تلقاء نفسها (أي تشغيل msxsl. exe base. xml test. xsl - o styleled. xml)، فإنه يعرض الإخراج على سطر الأوامر. ماذا أفعل خطأ إديت: أود أن ألاحظ أن عملية مسكسل تفشل حاليا بسبب ملف شمل غير صحيح. يتم عرض رسالة الخطأ هذه: حدث خطأ أثناء تنفيذ test. xsl الأنماط. كود: 0x800c0006 يتعذر على النظام تحديد موقع الكائن المحدد. هذا هو بالضبط نوع الشيء الذي تريد عرضه في وحدة التحكم في تطبيقي (أو، في نهاية المطاف، ملف سجل.) الموضوع: عرض الانتاج القياسية السوائل من عملية وحدة التحكم في وينفورم عرض الانتاج القياسية السوائل من عملية وحدة التحكم في وينفورم مرحبا. إيف تم البحث في جميع أنحاء شبكة الإنترنت، وهنا لعدة أيام ووجدت حل لمشكلتي. إم مطور أسب المخضرم ولكن إم جديد ل وينفورمز و مولتيثريدينغ. إم باستخدام فس 2010 و ف 4.0. لدي تطبيق وحدة التحكم التي تأخذ دقائق لساعات لتشغيل. فإنه يبصق إلى الإخراج القياسية ما تفعله. عميلي يريد الآن واجهة المستخدم الرسومية لهذا التطبيق (معلمات سطر الأوامر و شمل تخويف لهم) وأسرع حل هو كتابة وينفورم التي تطلق التطبيق وحدة التحكم. إيف كتب هذا التطبيق بنجاح. هيريس رمز الأساسية لدي في هذه المرحلة: وهذا سيفتح وينفورم آخر أن إيف جعلت، في الأساس علبة كبيرة مع الممتلكات العامة الناتج الذي يمكنني تعيين StandardOutput. ReadToEnd () ل. سوف وينفورم تجميد للدقائق التي برنامجي (BCMaker. exe) قيد التشغيل ومن ثم العودة، مع الإخراج في إطار الإخراج. غرامة. التقيت بمتطلبات مشروعي. إلا أن هذا التجميد من المرجح أن يؤدي إلى تفاقم موكلي، خاصة عندما لا يستطيعون رؤية أي تقدم. الآن، تعلمت أن ويتفوريكسيت () هو عملية متزامنة، لذلك إذا كنت ترغب في استخدام باكغروندوركر واستخدام هذا المقتطف، وهذا فكرة سيئة. أجرت إيف مع باكغروندوركر ولكن النتائج كانت أفضل بكثير. النموذج الرئيسي ونافذة الإخراج متجاوبان، لكن نافذة الإخراج لا تظهر أي مخرجات حتى تكتمل العملية، حيث تظهر كل شيء. هيريس ما حصلت عليه مع باكغروندبروسيس: BackgroundWorker. ProgressChanged الحدث ليست جيدة، لأن ثيريس لا شيء ملحوظ بلدي وحدة التحكم التطبيق هو الإبلاغ إم إعادة توجيه تيار ستاندردوتبوت. ربما إذا كان بروجريسشانجديفنتارغس يمكن أن تحتوي على حمولة البيانات أنا يمكن أن ترسل الإخراج القياسية من وحدة التحكم من خلال دوريا (مثل كل 100ms)، ولكن أنا لا أرى وسيلة لإرسال أي حمولة البيانات بهذه الطريقة. أي أفكار حول كيفية عرض ستانداردوتبوت السوائل
Comments
Post a Comment