PDA

View Full Version : جلوگیری از اررور دادن برنامه



ho3ein.3ven
پنج شنبه 26 مرداد 1391, 10:21 صبح
سلام .
ببخشید دوستان چطوری میشه یک پروژه رو طوری نوشت که در هیچ شرایطی ارور نده و به کارش ادامه بده . با دستور on error resume next هم که استفاده می کنم جلوی اررور برنامه رو نمیگیره و بازم اررور میده آیا راهی هست ؟

AbbasVB
پنج شنبه 26 مرداد 1391, 10:33 صبح
ببخشید دوستان چطوری میشه یک پروژه رو طوری نوشت که در هیچ شرایطی ارور نده و به کارش ادامه بده . با دستور on error resume next هم که استفاده می کنم جلوی اررور برنامه رو نمیگیره و بازم اررور میده آیا راهی هست ؟
سلام دوست عزیز
اول بفرمایید چه اروری می ده؟

ho3ein.3ven
پنج شنبه 26 مرداد 1391, 10:49 صبح
سلام
run time error

MohammadGh2011
پنج شنبه 26 مرداد 1391, 10:55 صبح
سلام
run time error

سلام عليکم
دستوري که استفاده کرديد رو هم بنويسيد تا بررسي بشه.


موفق باشيد

ho3ein.3ven
پنج شنبه 26 مرداد 1391, 11:07 صبح
ببینید کدش هیچ مشکلی نداره .
من می خوام که هر وقتی خواست تو برنامه اروری اتفاق بیفته اصلا اون کد ها رو اجرا نکنه .

MohammadGh2011
پنج شنبه 26 مرداد 1391, 11:16 صبح
ببینید کدش هیچ مشکلی نداره .
من می خوام که هر وقتی خواست تو برنامه اروری اتفاق بیفته اصلا اون کد ها رو اجرا نکنه .
دقيقا شما بايد از دستور On Error Goto استفاده کنيد.در اين مورد جستجو کنيد.



موفق باشيد

ho3ein.3ven
پنج شنبه 26 مرداد 1391, 11:56 صبح
این روش هم امتحان کردم متاسفانه بازم برنامه ارور میده

meys34
پنج شنبه 26 مرداد 1391, 16:46 عصر
ببینید کدش هیچ مشکلی نداره .
من می خوام که هر وقتی خواست تو برنامه اروری اتفاق بیفته اصلا اون کد ها رو اجرا نکنه .

من فکر کنم مشکل از این کلمه است... تابع On Error Goto باید قبل از ارور دادن و توی هر پروسیجری، باز هم میگم توی هر پروسیجری فراخوانی بشه...

ببین یه مثال میزنم

Private Sub Command1_Click()
On Error Resume Next
Timer1.Interval = -1
End Sub

Private Sub Command2_Click()
Timer1.Interval = -1
End Sub
توی Command1 ارور نمیده ولی توی Command2 ارور میده... چون تایمر نمیتونه -1 ثانیه باشه...




حالا اگه داشته باشم

Private Sub Command1_Click()
On Error Resume Next
Timer1.Interval = -1
Command2_Click
End Sub
باز هم ارور نمیده... چون یه جورایی زیر مجموعه اون روال قبلی هست...((مردم روال همون پروسیجره ...))

ho3ein.3ven
پنج شنبه 26 مرداد 1391, 16:59 عصر
ممنون ولی داداش تو همون روالی که برنامه ارور میده از این دستور استفاده کردم و بازم اررور میده . دیگه در این حد بلدیم بابا.

just4froum
پنج شنبه 26 مرداد 1391, 19:32 عصر
ممنون ولی داداش تو همون روالی که برنامه ارور میده از این دستور استفاده کردم و بازم اررور میده . دیگه در این حد بلدیم بابا.


با سلام :

چنینی چیزی امکان نداره.

احتمالا شما از تابع یا سابروتینی استفاده کردین که در آن اررور رخ میده نه در آن روال به خصوص.

ولی به نظر من شما بگرد ببین از کجا اررور میده بعد اونو رفع کن ( آخه برنامه الکی که اررور نمیده یه چیزیش هست )

meys34
جمعه 27 مرداد 1391, 00:19 صبح
اگر سکیوریتی نیست سورس بذار ببینیم مشکل از کجاست... تو حل این مشکلات آدم کلی چیز یاد میگیره...

محسن واژدی
جمعه 27 مرداد 1391, 00:56 صبح
سلام علیکم
دلایل مختلفی میتوانند موجب نمایش این خطا شوند از جمله نبودن کامپوننت مورد نظر، میتوانید برنامه را debug کنید (مثلا با فشرده F8 و بررسی کدها) یا در زمان نمایش خطا دکمه Ctrl+Pause را فشار دهید تا خط خطا مشخص شود سپس به بررسی نوع خطا و کامپوننت مورد نیاز آن بپردازید

در صورت لزوم سورس را هم ضمیمه کنید

موفق باشید

M.T.P
جمعه 27 مرداد 1391, 01:11 صبح
پیرو راهنمایی دوستان ....
برید تو مسیر منوی Tools \ Option بعد از تب General تنظیمات Error Traping رو بررسی کنید ممکنه گذاشته باشید روی Break on all errors که اینطوری میشه
بصورت پیش فرض روی وسطی یا break on class modules باید باشه.

ho3ein.3ven
شنبه 28 مرداد 1391, 00:21 صبح
سلام ممنون از همگی دوستان که کمک کردند.
این راهی که جناب m.t.p گفتند رو انجام دادم مشکلم حل شد.
بازم ممنون از همه