PDA

View Full Version : سوال در مورد خطا در برنامه تحت شبکه



نیما حتمی
چهارشنبه 30 مهر 1393, 16:36 عصر
با سلام
دوستان عزیز من برنامم بعد از نیم ساعت کار کردن پیغام out off memory میده و میگه که <system.windows.forms jitDebugging ="false"/>این یعنی چی؟
اینم اروری که میده 124839
چی کار کنم؟

RIG000
چهارشنبه 30 مهر 1393, 16:54 عصر
"false این رو true کنی درست نمیشه؟

RIG000
چهارشنبه 30 مهر 1393, 17:01 عصر
http://www.codeproject.com/Questions/462830/How-to-solve-error-Just-In-Time-Debugging-Out-of-m
http://forums.nexusmods.com/index.php?/topic/1058582-cbbe-install-via-nmm-out-of-memory/
اینا رو ببین ببین چیزی دستت میاد

نیما حتمی
چهارشنبه 30 مهر 1393, 17:09 عصر
نه درست نمیشه امتحان کردم

RIG000
چهارشنبه 30 مهر 1393, 17:11 عصر
من همچین مشکلی نداشتم. اما سعی کن در مورد out of memory بیشتر جستجو کنی...
من احساس کردم به ویندوز ها ربط داره این مشکل...

hamid_hr
چهارشنبه 30 مهر 1393, 17:17 عصر
ببینین دارین یه کاری میکنین که حافظه ریادی استفاده میکنه
باید در طول برنامه منابع حافظه رو ازاد کنین

نیما حتمی
یک شنبه 04 آبان 1393, 09:04 صبح
ببینین دارین یه کاری میکنین که حافظه ریادی استفاده میکنه
باید در طول برنامه منابع حافظه رو ازاد کنین

نمیدونم از کجا و از کدوم خطه.کلی خط برنامه نوشته شده آخه

hamid_hr
یک شنبه 04 آبان 1393, 09:13 صبح
یا با فایل ها کار میکنید
یا با دیتابیس و datatable , dataset , .....
یه چیزی که منایعو میگیره ولی ازاد نمیکنه

نیما حتمی
یک شنبه 04 آبان 1393, 11:28 صبح
یا با فایل ها کار میکنید
یا با دیتابیس و datatable , dataset , .....
یه چیزی که منایعو میگیره ولی ازاد نمیکنه

الان که چک کردم میبینم وقتی از منوبار سمت راست فرمهارو باز میکنم و این عمل چندبار اتفاق میفته این پیغامو میده ولی تو سورس برنامه چیزی که ذهنمو مشغول کنه یا ایرادی باشه ندیدم

alibilgats
یک شنبه 04 آبان 1393, 17:31 عصر
سلام دوست عزیز!
احیانا شما از بانک اطلاعاتی access بصورت Databinding استفاده کردین؟ در کنارش از OpenfileDialog هم استفاده کردین؟

pedram.11
یک شنبه 04 آبان 1393, 19:11 عصر
از قسمت دیباگ برنامتون رو آنالیز کنید و ببینید که کدوم قسمتا رم بیشتری میگیرن بعدش روی اون قسمت کار کنید

نیما حتمی
دوشنبه 05 آبان 1393, 10:24 صبح
سلام دوست عزیز!
احیانا شما از بانک اطلاعاتی access بصورت Databinding استفاده کردین؟ در کنارش از OpenfileDialog هم استفاده کردین؟

نه دوست عزیز با sql کار میکنم

نیما حتمی
دوشنبه 05 آبان 1393, 10:45 صبح
دوستان به اینجا رسیدم این چطور حل میشه؟
125001

نیما حتمی
دوشنبه 05 آبان 1393, 10:48 صبح
SingleSandoghfrmیکی از فرمهای گزارشمه که با استیمول ریپورت طراحی کردم در فرم gozareshsandogh که کدهای مربوط به این فرم گزارش استیمول به این شکل نوشته شده:

SqlConnection connect = new SqlConnection();
connect.ConnectionString = Ajans.Properties.Settings.Default.Connection.ToStr ing();
try
{
PersianCalendar pc = new PersianCalendar();
DateTime _date = DateTime.Now;
StringBuilder sb = new StringBuilder();
sb.Append(pc.GetYear(_date).ToString("0000"));
sb.Append("/");
sb.Append(pc.GetMonth(_date).ToString("00"));
sb.Append("/");
sb.Append(pc.GetDayOfMonth(_date).ToString("00"));
connect.Open();
SqlDataAdapter insert = new SqlDataAdapter(@"select shgh as [ش قرارداد],Nametor as [نام تور],familyc as [نام خانوادگی],Htb as [مبلغ نفری],Bestankar as [بستانکار],bedehkar as [بدهکار],DateHarekat as [تاریخ حرکت],accountkol as [مبلغ کل],count as [تعداد],Comm as [توضیحات] from customer where typePassenger='true' And shgh='" + DG.CurrentRow.Cells[0].Value.ToString() + "'", connect);
DataTable t = new DataTable(); insert.Fill(t);
//---------------

// SqlDataAdapter insert1 = new SqlDataAdapter(@"select MonyRecieve as دریافتی,MonyPeyment as پرداختی from MaliRecieve inner join MaliPeyment on MaliPeyment.Shgh=MaliRecieve.Shgh where MaliRecieve.Shgh='" + DG.CurrentRow.Cells[0].Value + "' ", connect);
//DataTable t1 = new DataTable(); insert1.Fill(t1);
SqlDataAdapter insert1 = new SqlDataAdapter(@"select MonyRecieve as دریافتی ,TypeRecieve as [نوع واریز],DateRecieve as [تاریخ دریافت],Comm as [توضیحات] from MaliRecieve where shgh='" + DG.CurrentRow.Cells[0].Value.ToString() + "'", connect);
DataTable t1 = new DataTable(); insert1.Fill(t1);
SqlDataAdapter insert2 = new SqlDataAdapter(@"select MonyPeyment as پرداختی ,TypeRecieve as [نوع واریز],TarafhesabName as [طرف حساب],DateRecieve as [تاریخ پرداخت],Comm as [توضیحات] from MaliPeyment where shgh='" + DG.CurrentRow.Cells[0].Value.ToString() + "'", connect);
DataTable t2 = new DataTable(); insert2.Fill(t2);
//--------------sod
SqlDataAdapter dariafti = new SqlDataAdapter(@"select sum(MonyRecieve) from MaliRecieve where shgh='" + DG.CurrentRow.Cells[0].Value.ToString() + "'", connect);
DataTable tdariafti = new DataTable(); dariafti.Fill(tdariafti);
SqlDataAdapter pardakhti = new SqlDataAdapter(@"select sum(MonyPeyment) from MaliPeyment where shgh='" + DG.CurrentRow.Cells[0].Value.ToString() + "'", connect);
DataTable tpardakhti = new DataTable(); pardakhti.Fill(tpardakhti);

SqlDataAdapter views = new SqlDataAdapter(@"select OriginalPath as saeed from Setting ", connect);
DataTable tviews = new DataTable(); views.Fill(tviews);


/* SqlDataAdapter jamedaryaft = new SqlDataAdapter(@"select sum(MonyRecieve) from MaliRecieve where shgh='" + DG.CurrentRow.Cells[0].Value.ToString() + "'", connect);
DataTable tjamedaryaft = new DataTable(); jamedaryaft.Fill(tjamedaryaft);
//-----------------
if (t1.Rows.Count > 0 && t.Rows.Count > 0)
{
int a = Convert.ToInt32(t.Rows[0][7].ToString()) - Convert.ToInt32(tjamedaryaft.Rows[0][0].ToString());
MessageBox.Show(a.ToString());
((StiText)SingleSandoghfrm.Pages["Page1"].GetComponents()["saeed"]).Text.Value = a.ToString();
}
else
{
}*/

SingleSandoghfrm.Load("sanad mali.mrt");
SingleSandoghfrm.RegData("H",t1);
SingleSandoghfrm.RegData("Da",t);
SingleSandoghfrm.RegData("Ha",t2);
((StiImage)SingleSandoghfrm.Pages["Page1"].GetComponents()["Image1"]).File = tviews.Rows[0]["saeed"].ToString();
((StiText)SingleSandoghfrm.Pages["Page1"].GetComponents()["Date"]).Text.Value = sb.ToString();
if (t1.Rows.Count > 0 && t2.Rows.Count > 0)
{
int a = Convert.ToInt32(tdariafti.Rows[0][0].ToString()) - Convert.ToInt32(tpardakhti.Rows[0][0].ToString());
sod.Text = a.ToString();
((StiText)SingleSandoghfrm.Pages["Page1"].GetComponents()["sod"]).Text.Value =sod.Text;
}
else
{
}
if (t1.Rows.Count > 0)
{
int kol = Convert.ToInt32(t.Rows[0][7]) - Convert.ToInt32(tdariafti.Rows[0][0]);
mandeh.Text = kol.ToString();
((StiText)SingleSandoghfrm.Pages["Page1"].GetComponents()["mande"]).Text.Value = mandeh.Text;

}
else
{
}
// ((StiText)SingleSandoghfrm.Pages["Page1"].GetComponents()["kolrecive"]).Text.Value = tpardakht.Rows[0][0].ToString();
SingleSandoghfrm.Show();

}
catch (Exception x)
{
MessageBox.Show(x.Message.ToString());
}
finally
{
connect.Close();
}

}
دوستان خواهشا وقت بزارین کمکم کنین داره آبروم پیشه کارفرما میره:ناراحت:

نیما حتمی
دوشنبه 05 آبان 1393, 12:18 عصر
چیزی که من فهمیدم ایراد از stimulreport هستش و از فرمهای این نرم افزار ایراد میگیره.بچه ها کسی با این مشکل روبرو نشده؟

hamid_hr
دوشنبه 05 آبان 1393, 12:54 عصر
ببین
بعد از اینکه کارت با dataadapter تموم میشه اونو dispose کن
برا datatable, dataset ها هم همی کار رو بکن
اینا منابع حافظه رو میخورن

نیما حتمی
دوشنبه 05 آبان 1393, 14:05 عصر
ببین
بعد از اینکه کارت با dataadapter تموم میشه اونو dispose کن
برا datatable, dataset ها هم همی کار رو بکن
اینا منابع حافظه رو میخورن

این همه دیتا آداپترودیتاستو چطوریdispose کنم؟یکی دوتا که نیستن

hamid_hr
دوشنبه 05 آبان 1393, 15:43 عصر
insert1.Dispose();
insert2.Dispose();
.
.
.

نیما حتمی
سه شنبه 06 آبان 1393, 09:14 صبح
insert1.Dispose();
insert2.Dispose();
.
.
.


دوست عزیم اینو میدونم که چطور dispose کنم منظورم این بود پطوری این همه دیتااداپترو و..... که تو فرمهای دیگه هم هست disposeکنم.آخه فقط از این فرم ایراد نمیگیره از همه بخشهایی که از استیمول استفاده کردم این outoffmemory رو میده

نیما حتمی
سه شنبه 06 آبان 1393, 11:50 صبح
دوست عزیم اینو میدونم که چطور dispose کنم منظورم این بود پطوری این همه دیتااداپترو و..... که تو فرمهای دیگه هم هست disposeکنم.آخه فقط از این فرم ایراد نمیگیره از همه بخشهایی که از استیمول استفاده کردم این outoffmemory رو میده
من وقتی این ارورها رو تو گوگل سرچ میکنم یه وب سایتهایی رو نشون میده که توشون یه کدهایی رو نوشتن ولی من نمی دونم این کدها کارشون چیه و آیا مشکل منو حل می کنن یا نه میشه کمک کنین
اینم یه نمنه وی سایت:
http://stackoverflow.com/questions/19015547/protobuf-net-err-msg-an-exception-of-type-system-outofmemoryexception-occur

hamid_hr
سه شنبه 06 آبان 1393, 12:21 عصر
شما تو یه دونه از فرمات اون dispose رو تست کنین ببینین مشکل حل میشه یا نه

نیما حتمی
سه شنبه 06 آبان 1393, 12:59 عصر
شما تو یه دونه از فرمات اون dispose رو تست کنین ببینین مشکل حل میشه یا نه

امتحان کردم متاسفانه حل نشد.مشکل از کجاست پس؟

hamid_hr
سه شنبه 06 آبان 1393, 13:16 عصر
یه سوال
توی تعداد صفحات بالا ارور میده یعنی وقتی صفحات زیاد میشه ارور میده یا نه برا یک صفحه هم ارور میده؟

veniz2008
سه شنبه 06 آبان 1393, 15:56 عصر
سلام.
من که سر از کدهای شما در نیاوردم و بعید میدونم شخص دیگه ای هم متوجه این کدها بشه.
برای رضای خدا هم که شده قبل از اینکه یه پروژه تجاری بگیرید اول اصول صحیح نوشتن یک برنامه رو یاد بگیریم وگرنه نتیجش میشه همین چیزی که الان می بینیم.
استرس، اعصاب خوردی، آبروریزی پیش کارفرما، ضربه زدن به حیثیت جامعه برنامه نویسان و ...
آخه چطور میشه شخصی رو راهنمایی کرد در حالیکه مثل 20 سال پیش کوئری Select می نویسه؟ و براحتی میشه Select هاش رو هک کرد (با وجود اینکه مکرر گفته شده که آقایون اینطور کد ننویسید).
چطور میشه کسی رو راهنمایی کرد که در پروژه ای با این سطح، نه کلاس بندی میکنه نه چند لایه کار میکنه، نه کدهاش نظم مشخصی داره.
باور کنید سال هاست برنامه می نویسم و کدهای دیگران رو هم آنالیز میکنم ولی نمی دونم چرا سبک کد نوشتن بعضی از دوستان اینطوریه. پشت سر هم DataAdapter ، DataTable ، DataSet و ... این چیزها با هوا کار نمی کنن اینا از منابع سیستم استفاده می کنن و بعد همین برنامه ها میره روی سیستمی که مثلا 1 گیگ رم داره.
طوری کد بنویسیم که اگر کسی کدهامون رو دید از سادگی و کارایی کدهامون لذت ببره. بی جهت سعی نکنیم که یه گونی کد بریزیم توی یک فرم.
کد بیشتر یا کد پیچیده تر نشان از پربار بودن یک برنامه نویس نیست، حداقل کد با بالاترین سرعت، حداکثر خوانایی و امنیت نشانه یه برنامه نویس خوبه.
امیدوارم وقت بذارید، هزینه کنید و کار رو اصولی یاد بگیرید.
اما در مورد مشکلتون،تا الان این مدلی با استیمول کار نکردم و چنین مشکلی هم برام پیش نیومده ولی خوشبختانه برای کار کردن با استیمول راه های متنوع و زیادی وجود داره که توی نت هم آموزش ها و ویدئوهای زیادی وجود داره. توصیه میکنم برای رفع موقت مشکلتون از این آموزش های موجود در نت استفاده کنید و یکی از فرم های گزارش گیریتون رو با یک روش جدید پیاده سازی کنید. در تاپیک زیر قبلا 2 ویدئوی آموزشی درباره کار با استیمول قرار دادم(پست های 15 و 16)، ببینید به دردتون می خورن (توی نت هم سرچ کنید ویدئوهای دیگه ای رو با روش های پیاده سازی متفاوتی پیدا خواهید کرد) :
http://barnamenevis.org/showthread.php?415427-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%88%DB%8C%D8%AF%D8%A6%D9%88%DB%8C%DB%8C-%DB%8C%DA%A9-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-%D8%A7%D8%B2-%D8%A7%D8%A8%D8%AA%D8%AF%D8%A7-%D8%AA%D8%A7-%D8%A7%D9%86%D8%AA%D9%87%D8%A7&p=1894251&viewfull=1#post1894251
امیدوارم از حرف های من نرنجید.
موفق و سربلند باشید.

نیما حتمی
چهارشنبه 07 آبان 1393, 10:48 صبح
سلام.
من که سر از کدهای شما در نیاوردم و بعید میدونم شخص دیگه ای هم متوجه این کدها بشه.
برای رضای خدا هم که شده قبل از اینکه یه پروژه تجاری بگیرید اول اصول صحیح نوشتن یک برنامه رو یاد بگیریم وگرنه نتیجش میشه همین چیزی که الان می بینیم.
استرس، اعصاب خوردی، آبروریزی پیش کارفرما، ضربه زدن به حیثیت جامعه برنامه نویسان و ...
آخه چطور میشه شخصی رو راهنمایی کرد در حالیکه مثل 20 سال پیش کوئری Select می نویسه؟ و براحتی میشه Select هاش رو هک کرد (با وجود اینکه مکرر گفته شده که آقایون اینطور کد ننویسید).
چطور میشه کسی رو راهنمایی کرد که در پروژه ای با این سطح، نه کلاس بندی میکنه نه چند لایه کار میکنه، نه کدهاش نظم مشخصی داره.
باور کنید سال هاست برنامه می نویسم و کدهای دیگران رو هم آنالیز میکنم ولی نمی دونم چرا سبک کد نوشتن بعضی از دوستان اینطوریه. پشت سر هم DataAdapter ، DataTable ، DataSet و ... این چیزها با هوا کار نمی کنن اینا از منابع سیستم استفاده می کنن و بعد همین برنامه ها میره روی سیستمی که مثلا 1 گیگ رم داره.
طوری کد بنویسیم که اگر کسی کدهامون رو دید از سادگی و کارایی کدهامون لذت ببره. بی جهت سعی نکنیم که یه گونی کد بریزیم توی یک فرم.
کد بیشتر یا کد پیچیده تر نشان از پربار بودن یک برنامه نویس نیست، حداقل کد با بالاترین سرعت، حداکثر خوانایی و امنیت نشانه یه برنامه نویس خوبه.
امیدوارم وقت بذارید، هزینه کنید و کار رو اصولی یاد بگیرید.
اما در مورد مشکلتون،تا الان این مدلی با استیمول کار نکردم و چنین مشکلی هم برام پیش نیومده ولی خوشبختانه برای کار کردن با استیمول راه های متنوع و زیادی وجود داره که توی نت هم آموزش ها و ویدئوهای زیادی وجود داره. توصیه میکنم برای رفع موقت مشکلتون از این آموزش های موجود در نت استفاده کنید و یکی از فرم های گزارش گیریتون رو با یک روش جدید پیاده سازی کنید. در تاپیک زیر قبلا 2 ویدئوی آموزشی درباره کار با استیمول قرار دادم(پست های 15 و 16)، ببینید به دردتون می خورن (توی نت هم سرچ کنید ویدئوهای دیگه ای رو با روش های پیاده سازی متفاوتی پیدا خواهید کرد) :
http://barnamenevis.org/showthread.php?415427-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%88%DB%8C%D8%AF%D8%A6%D9%88%DB%8C%DB%8C-%DB%8C%DA%A9-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-%D8%A7%D8%B2-%D8%A7%D8%A8%D8%AA%D8%AF%D8%A7-%D8%AA%D8%A7-%D8%A7%D9%86%D8%AA%D9%87%D8%A7&p=1894251&viewfull=1#post1894251
امیدوارم از حرف های من نرنجید.
موفق و سربلند باشید.
شما درست میگین دوست عزیز و من هنوز وقت نکردم برناممو به روز کنم کدهاشو.این برنامرو من چند سال پیش نوشتم و الان این مشکلات واسش پیش اومده

mreram
چهارشنبه 07 آبان 1393, 16:16 عصر
اررور میگه وقتی این شی داره ازش استفاده میشه نمیتونید اینجا ازش استفاده کنید به اصطلاح unhandled نشده ... ولی متاسفانه به این روش کد نویسی با Stimul آشنایی ندارم