ورود

View Full Version : كنترل خطاهاي ويندوز



RASAM
دوشنبه 06 خرداد 1387, 10:20 صبح
چطوري ميتونم درحين كپي كردن از روي سي دي اگر خطايي رخ داد اجازه نمايش آنرا ندهم .

vcldeveloper
دوشنبه 06 خرداد 1387, 19:48 عصر
چطوري ميتونم درحين كپي كردن از روي سي دي اگر خطايي رخ داد اجازه نمايش آنرا ندهم .
از چی برای کپی استفاده می کنید؟ یک کامپوننت خاص، یک API خاص، یا از APIهای ویندوز؟

RASAM
چهارشنبه 08 خرداد 1387, 13:32 عصر
با تشكر
من از دستور copyfile دلفي استفاده ميكنم و ميخواهم در حين كپي از روي cd اگر cd خراب بود يا احيانا eject شد . از طرف ويندوز پيغامي فرستاده نشود و پيغام را خودم اطلاع دهم .

B_YAGHOBI
چهارشنبه 08 خرداد 1387, 14:22 عصر
جلوي پيغام CopyFile را نميتوانيد بگيريد چون Exception نيست بلكه يك MessageBox ميباشد.

بهتره خودتان فايل را باز كنيد و بخوانيد و در يك فايل ديگر بنويسيد.

RASAM
چهارشنبه 08 خرداد 1387, 15:02 عصر
ضمن تشكر از دوستان عزيز
آيا ميتوان با استفاده از دستورات API اين مشكل را حل كرد ؟ چگونه ؟

vcldeveloper
چهارشنبه 08 خرداد 1387, 21:57 عصر
آيا ميتوان با استفاده از دستورات API اين مشكل را حل كرد ؟
CopyFile خودش یک تابع API ویندوز هست. نباید پیغام خطایی نمایش بده، چون بر اساس موفقیت آمیز بودن یا شکست خوردن عملیات، مقدار برگشتی تابع تغییر میکنه، مثلا اگر عملیات با موفقیت انجام بشه، تابع مقداری غیر از صفر را بر می گردونه و اگر شکست بخوره، مقدار صفر را.
البته تابع CopyFileEx هم هست. از طریق Shell هم می تونید عمل کپی را انجام بدید.

B_YAGHOBI
چهارشنبه 08 خرداد 1387, 22:12 عصر
متاسفانه دستور CopyFile يك پيغامي ميده كه چون Exception نيست نميتوان جلوي آنرا گرفت:


http://barnamenevis.org/forum/attachment.php?attachmentid=18392&stc=1&d=1211998330

vcldeveloper
پنج شنبه 09 خرداد 1387, 02:22 صبح
متاسفانه دستور CopyFile يك پيغامي ميده كه چون Exception نيست نميتوان جلوي آنرا گرفت
عجیبه، اگر قرار هست که یک تابع API خودش پیغام خطا بده، پس دیگه مقادیر برگشتی از تابع که نشان دهنده موفقیت یا شکست عملیات هست، بدرد چی میخوره؟!!

RASAM
دوشنبه 13 خرداد 1387, 10:02 صبح
باسلام و عرض تشكر از راهنمايهاي دوستان
من هنوز نتوانسته ام اين مشكل را حل كنم . منتظر راهنمايهاي بيشترتان هستم .
شادي روح روح الله صلوات