PDA

View Full Version : متوفف کردن کامل اجرای پروسه ها در یک فرم



vb_nima
سه شنبه 19 تیر 1386, 18:25 عصر
من در فرمم که کاری تقریبا شبیه به کار کپی انجام میده یک کلید Cancel دارم چطور میتونم وقتی این کلید زده شد. اجرای بقیه پروسه ها متوقف شده و پننجره کلا بسته بشه.
البته خودم این کار را کردم ولی جواب نداد:
من اومدم تو اون پروسه ای که در حال اجرا بود یک Doevents گذاشتم و در کلید cancel عبارت unloadme را گذاشتم ولی جواب نگرفتم.
کسی میدونه چطور میشه تمام پروسه های یک فرم را متوقف کرد؟

emadct
چهارشنبه 20 تیر 1386, 08:33 صبح
سلام

بسته به نوع اون پروستون داره

اگر Timer که خوب متوقفش کنید، یعنی Enabled اون رو خاموش کنید.

اگر یک حلقه While با Doevents که خوب باید به شرط حلقه While خودتون یک شرط دیگه اضافه کنید مثل and not exitFromWhile

اونوقت زمانی که دکمه Cancel زده میشه، باید این متغیر رو exitFromWhile رو TRUE کنید.
حلقه While خارج میشه و بعد از حلقه میتونی Form رو Unload کنی. به این کار میگن Synchronization.
:D


توجه کن که متغیر باید Global باشه.

ضمنا متغیر های VB از نوع Volatile ساخته میشن ولی اگه در C++ خواستی در 2 Thread همچین کاریو بکنی حتما متغیر خودتو از نوع Volatile تعریف کن

Volatile bool exitFromWhile = false;

قود بای