PDA

View Full Version : مشکل با سرعت اجرای دستورات



S_VB.max
چهارشنبه 14 اردیبهشت 1390, 17:14 عصر
سلام
بعد از دستور ایجاد فایل ، دستوری نوشتم که حجم اون فایل را به من بده
مشکل اینجاست که در هنگام ساخته شدن فایل بلافاصله دستور بعدی هم اجرا میشه و خطا داده میشه که فایل را نمی تونه پیدا کنه
چکار کنم تا این مشکل رفع بشه
از دستور Application.DoEvents هم استفاده می کنم

mohamad.alijani
پنج شنبه 15 اردیبهشت 1390, 00:00 صبح
فكر مي كنم بايد بعد از ايجاد فايل اون هندلرشو ببنديد. بعد سراغ اندازه گيري فايل بريد.

S_VB.max
پنج شنبه 15 اردیبهشت 1390, 10:49 صبح
ولی چجوری می تونم هندلر فایل را بدست بیارم؟

mohamad.alijani
پنج شنبه 15 اردیبهشت 1390, 12:29 عصر
شما با چه دستوري فايل رو ايجاد مي كنيد؟

haghft
پنج شنبه 15 اردیبهشت 1390, 15:32 عصر
شما از backgroundworker استفاده کن و دستور ساخت فایلو در رویداد DoWork و اون دستوری که حجم فایلو میده رو تو رویداد RunWorkerCompletedش بده.
اگر طرز کار bgworker رو نمیدونی از این نمونه استفاده کن.

S_VB.max
پنج شنبه 15 اردیبهشت 1390, 18:01 عصر
ممنون کار کردن با backgroundworker را نمی دونستم دستت درد نکنه

من پارامتر ارسال می کنم به یه برنامه دیگه و اون برای من فایلو می سازه
به محض اینکه دستور ساخت فایل موجود در رویداد DoWork اجرا بشه دستور داخل رویداد RunWorkerCompleted هم اجرا میشه این در حالی است اون برنامه هنوز داره فایلی را که من می خوام را می سازه

از کلاس FileSystemWatcher هم استفاده کردم اینم خوب جواب نمیده

تنها دستوری که تا حالا درست جواب میده System.Threading.Thread.Sleep(1000); بوده ولی با این دستور برنامه خیلی کند میشه

haghft
پنج شنبه 15 اردیبهشت 1390, 18:43 عصر
مگه فایلی که میسازی چقدر حجم داره که اینقدر ساختش طول میکشه؟

sabloger
جمعه 16 اردیبهشت 1390, 02:43 صبح
سلام

تنها دستوری که تا حالا درست جواب میده System.Threading.Thread.Sleep(1000); بوده ولی با این دستور برنامه خیلی کند میشه

خوب دوست عزیز در این جور مواقع یا باید اون برنامه یه جوری مشخص کنه که کی ساخت فایل تمومه یا این که شما از یه طریقی مثلا ایجاد وقفه به یک مدت پیشفرض از بروز چنین خطایی جلوگیری کنی، که البته چنین کاری برای زمانی که حجم اون فایل متغیر هست ممکنه کهدرست کار نکنه، یعنی حجم فایل بزرگ باشه و بیشتر از اون زمان پیش فرض طول بکشه، که این هم یک راهی داره، و اون اینه که زمانی رو که برای ایجاد وقفه میگذاری به نسبت اندازه فایل انتخاب کنی، که البته باید همیشه مقداری بهش اضافه کنی، چون در هر زمان ایجاد فایل ممکنه که یه مقدار طول بکشه

من توی کار با فایل کمی دستم راه افتاده! اگر کمکی خواستید بگید، اگر تونستم در خدمتم
امیدوارم که کارتون راه افتاده باشه

موفق باشید