PDA

View Full Version : Generic GDI+ Error در برنامه مولتي تريد



Developer Programmer
جمعه 24 مهر 1388, 16:50 عصر
يك برنامه مولتي تريد براي ارسال و دريافت پيام كاربران متصل به برنامه با C#‎ و با استفاده از Socket ها نوشتم...

زماني كه برنامه رو در كامپويتر خودم تست ميكردم هيچ مشكلي نبود... از وقتي اون رو به Server منتقل كرديم. گاهي اوقات با پيغام Generic GDI+ Error مواجه ميشم... كسي راه حلي به نظرش مير سه؟

راستي، آيا ميشه در متدي كه Invoke ميكنيم، چندين Object رو مقداردهي كرد يا نه؟ منظورم اينه كه آيا ميشه TextBox و TrayNotify و TreeView رو همزمان با فعال شدن يه Delegate مقداردهي كرد يا نه

Sajjad.Aghapour
جمعه 24 مهر 1388, 18:45 عصر
در مورد مشکل اولتون چیزی نمی دونم.ولی مشکل دومتون رو زیاد متوجه نشدم.
منظورتون اینه:


private delegate void Del(params object[] obj);

.//
Del del = new Del(Method);
del.Invoke(new object[] { "sajjadlove", "GoogleA5.Com" });

//
private void Method(params object[] obj)
{
textBox1.Text = obj[0].ToString();
textBox2.Text = obj[1].ToString();
}

Developer Programmer
جمعه 24 مهر 1388, 21:31 عصر
دقیقا اشاره درستی کردین.
من بر اساس پیامی که از کلاینت میگیرم(لاگین، لاگ آت، پیام بین کاربران) ... اون پیام ها رو در تکست باکس نشون میدم و اسامی کاربران رو در TreeView نشون میدم.

احتمال میدم مقدار دهی به چند آبجکت توسط ترید در یک Delegate باعث ایجاد خطا میشه...

Sajjad.Aghapour
جمعه 24 مهر 1388, 22:39 عصر
شما پیغامتون رو به چه صورت دریافت می کنید و به صورت نمایش میدید؟؟



احتمال میدم مقدار دهی به چند آبجکت توسط ترید در یک Delegate باعث ایجاد خطا میشه...

نه فکر نکنم.البته نمی دونم شما چطوری پیاده سازی کردید ولی قاعدتا دریافت پیام به صورت AsyncCallback (شروع ترد)و نمایش پیغام و درج کاربران با invoke کردن delegate انجام میشه.....

Developer Programmer
شنبه 25 مهر 1388, 17:01 عصر
متاسفانه به دليل برخي محدوديتهايي كه شركت اعمال ميكنه. نميتونم حتي گوشه اي از سورس رو بذارم :ناراحت: اما به صورت تئوريك اينطوريه كه يه Delegate تعريف كردم به اسم StatusChanged كه به هنگام ورود/خروج، ارسال پيام كابران فعال ميشه. و Invoke ميكنه...
حالا در رويداد OnStatusChaned ميام ابجكتهاي روي فرم رو مقدار دهي ميكنم. فقط همين