PDA

View Full Version : سوال: جلوگیری از هنگ کردن برنامه توسط دستور Try-Catch



esmicro
شنبه 04 دی 1395, 15:47 عصر
سلام به اعضا و دوستان سایت خوب برنامه نویس

من میخوام زمانی که دستور کانکت شدن به یه پورتی رو میدم و اون پورت توسط یه وسیله دیگه اشغال باشد ، برنامه هنگ نکنه .
دستورات رو داخل Try Catch مینویسم ولی فقط در مورد اولین پورت مورد بررسی این مشکل یعنی هنگ کردن پیش نمیاد ولی وقتی میخوام یه پورت دیگه رو بررسی کنم باز هنگ میکنه !!!!
چطوری میشه از یه دستوری استفاده کنم که مثلا چندتا پورت مشغول رو بررسی کنم و برنامه با مشکل مواجه نشه؟
ضمنا با ویژوال استدیو 2008 مینویسم. ممنون از شما

336699
چهارشنبه 08 دی 1395, 18:57 عصر
سلام
وقتی از Try Catch استفاده میکنیم ، قاعدتا نباید هنگ کنه :متفکر:

شما کدی که استفاده کردی رو بذار ببینیم مشکل از کجاست.

arash020
جمعه 10 دی 1395, 10:23 صبح
سلام
اگه برنامه هنگ میکنه مشکل از کد برنامه ست
دستوری که گفتین برای هداست برنامه در طمان بروز خطاست که پیغام خاصی بده و از برنامه خارج نشه
برای جلوگیری از لریز شدن برنامه و هنگ کردن
باید کد مربوط رو توی background worker بزاری .
در مورد کارایی و نحوه استفاده از اون توی نت جستجو کن
یه نکته کوچیک توش هست که کاربردیه, اونه که توحالت پیشفرض وقتی ازش استفاده میکنی اگه توی کدت به کنترل دیگه ای توی برنامه بخای وصل بشی و باهاش کار کنی خطا میده که اون هم با کد

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Control.CheckForIllegalCrossThreadCalls = False
End Sub


توی رویداد فرم لود حل میشه...
سوالی داشتی بپرس
وبلاگ من http://eaglevb.blogfa.com/

esmicro
یک شنبه 03 بهمن 1395, 21:06 عصر
سلام
با تشکر از پاسخ شما عزیزان. بذارین واضحتر بیان کنم، ببینید من یه مبدل USB به سریال دارم که وقتی به لپ تاپ وصل میکنم تشکیل یه COM میده که علاوه بر شماره مربوطه یه نام هم داره که البته میتونم نام اون رو خودم توی درایور عوض کنم.
حالا میخوام برنامه ای که برای کار با پورت سریال نوشتم خودش اتوماتیک پورت رو تشخیص بده. من اومدم و تمام پورتهای موجود در لپ تاپ رو لیست کردم و خواستم دونه دونه به اونا کانکت شم تا هر کدوم با موفقیت کانکت انجام شد همون پورت رو به عنوان پورت مربوطه انتخاب کنم. ولی متاسفانه همونطور که در بالا گفتم هنگ میکنه!!!
حالا شما دوستان عزیز اگه ممکنه منو راهنمایی کنید چه کار کنم؟
ممنونم