PDA

View Full Version : سوال: خواندن از سریال پورت؟



vafaei
دوشنبه 23 آذر 1388, 20:30 عصر
سلام دوستان
من اطلاعاتی که از سریال پورت می خونم رو در يک متغيير String می ريزم.مقدار اين متغيير رو با MessageBax می تونم نشون بدم ولی اگه بخوام با يک TextBox نشون بدم پیغام خطای زير در حین اجرا ظاهر میشه

Reza_Yarahmadi
دوشنبه 23 آذر 1388, 23:01 عصر
این مشکل ربطی به سریال پورت و ... نداره. این استثنا به این دلیل رخ میده که شما توی نخی جدای از نخ اصلی برنامه قصد تغییر شئ ای رو دارید که توی نخ اصلی ساخته شده. (چی گفتم!!)
روشهای زیادی برای برطرف کردن این مشکل مطرح شده اگر توی همین سایت بگردید مطالب زیادی رو پیدا میکنید.
ساده ترین روش اینه که قبل از ساخت نخ جدید دستور زیر رو بنویسید

Control.CheckForIllegalCrossThreadCalls = false;

vafaei
سه شنبه 24 آذر 1388, 07:43 صبح
این مشکل ربطی به سریال پورت و ... نداره. این استثنا به این دلیل رخ میده که شما توی نخی جدای از نخ اصلی برنامه قصد تغییر شئ ای رو دارید که توی نخ اصلی ساخته شده. (چی گفتم!!)
روشهای زیادی برای برطرف کردن این مشکل مطرح شده اگر توی همین سایت بگردید مطالب زیادی رو پیدا میکنید.
ساده ترین روش اینه که قبل از ساخت نخ جدید دستور زیر رو بنویسید

Control.CheckForIllegalCrossThreadCalls = false;
آقا خیلی ممنونم
مشکل من حل شد والی اصلا کد رو متوجه نشدم. اگر امکانش هست یه مقدار توضيح بده.

fjm11100
سه شنبه 24 آذر 1388, 08:26 صبح
اين كد جلوي بررسي علتي كه همون خطا را به شما داده ميگيره
شما در C# اجازه نداري به اين راحتي ها از يك ترد يا نخ به متغيرهاي يك ترد ديگه دسترسي داشته باشي
اين راه كه دوستمون گفته ساده است اما خوب نيست چون بنوعي پاك كردن صورت مسئله ميشه بهتره از يك روش Threadsafe اين كار را انجام بدي هم اينجا و هم سايت Codeproject ميتوني كلي نمونه پيدا كني

vafaei
سه شنبه 24 آذر 1388, 16:04 عصر
اين كد جلوي بررسي علتي كه همون خطا را به شما داده ميگيره
شما در C#‎ اجازه نداري به اين راحتي ها از يك ترد يا نخ به متغيرهاي يك ترد ديگه دسترسي داشته باشي
اين راه كه دوستمون گفته ساده است اما خوب نيست چون بنوعي پاك كردن صورت مسئله ميشه بهتره از يك روش Threadsafe اين كار را انجام بدي هم اينجا و هم سايت Codeproject ميتوني كلي نمونه پيدا كني
سلام دوست عزيز
از راهنمايتان متشکرم
تو اين سايت گشتم ولی چیزی پيدا نکردم
اگه میشه لينک بزار

Reza_Yarahmadi
سه شنبه 24 آذر 1388, 16:59 عصر
http://barnamenevis.org/forum/showthread.php?t=183596
http://barnamenevis.org/forum/showthread.php?t=145047
http://barnamenevis.org/forum/showthread.php?t=149308
اگه بگردید موارد دیگه ای هم پیدا میشه.