الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التحكم بالاخطاء في دلفي

بدأه prof_1982 في 4 يونيو 2006 · 8 رد · 1,558 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لقد واجهتني مشكلة وهي التحكم في الاخطاء في دلفي حيث استخدم الجمل Try و Except ولكن المشكلة بتظهر من النظام قبل ان تظهر في رسالتي التي اظهرها للمتستخدم ، يعني بالمعني بتظهر مرتين ،مره من النظام نفسه ومرة من برنامجي ,

كيف يمكن حل هذه المشكلة وجعل الخطأ فقط يظهر برسائل من برنامجي .

ارجو ان اكون قد وفقت في طرح المشكلة بشكل واضح .

حيث ظهرت هذه المشكلة بشكل ملحوظ اثناء تعاملي مع الـSockets

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#2

عند امساك الخطأ باستخدام تعليمة try,except يتم تنفيذ القسم الذي بعد التعليمة Except مباشرة

و لا يتم رفع الخطأ الى الاجراء المستدعي

و لكن رسالة النظام تظهر فقط عند البرمجة اي عن عمل Debug للبرنامج تظهر رسالة النظام و من تظهر الرسالة التي وضعتها انت

و لكن جرب ان تنفذ البرنامج مباشرة باضغط على exe سوف تلاحظ ان رسالة النظام لن تظهر و ستظهر رسالتك فقط

اذا لم تحل المشكلة

ارجوا ارفاق القليل من الكود لكي اطلع عليه

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3

السلام عليكم

قلت Try و Except لم تفي بالغرض...

بالنسبة ل Sockets حاول استغلال الحدث OnError

او تستخدم حدث التطبيق Application.OnException

procedure TForm1.EX(Sender : TObject; E : Exception);
begin
  MessageDlg(E.message,mtInformation,[mrOk],0);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnException:=EX;
end;
d4baa0.gif
#4

السلام عليكم و رحمة الله و بركاته

الأخوة الأعزاء هناك مشكلة رسالة الخطا عند الأتصال بقاعدة البيانات

جربت فيها try وجربت If لكن ليس هناك من حل

تظهر رسالة عدم الأتصال من قبل النظام و يكمل فتح البرنامج دون إتصال بقاعدة البيانات

سواء كانت MySql Server2005 أم InterBase

فهل هناك طريقة أمنع فيها النظام من التدخل في برنامجي

خصوصا عند الأتصال بقاعدة البيانات

و السلام ختام

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#5
rober كتب:

تظهر رسالة عدم الأتصال من قبل النظام و يكمل فتح البرنامج دون إتصال بقاعدة البيانات

هنا الخطأ

عند عدم الاتصال سواء تعيد المحاولة او يتوقف البرنامج

d4baa0.gif
#6

أخي الكريم B.M.AbdelAziZ

db.DatabaseName :='rober1';

db.UserName :='root';

db.UserPassword :='asd';

db.Host :='localhost';

try

db.Connected :=true;

except

showmessage('disconnected');

end;

جربت الكود السابق و لكن لم تنجح المحاولة فتظهر الرسالة

التي تدل على أن أسم قاعدة البيانات خاطئ و هو كذلك بالفعل

أرجو أبداء الرأي

و السلام ختام

post-143282-1210032449_thumb.jpg

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#7

لم توضح ما هو db !

ومهما كان يمكن ان تستخدم OnException انظر المثال فوق

والسلام عليكم ورحمة الله

d4baa0.gif
#8

بسم الله الرحمن الرحيم

نعم ما هو نوع db؟

من الممكن أن يوجد في هذه db حدث عند تعذر الاتصال أو حدوث خطأ ما....!

1141068814.gif

It doesn't matter how slow you go, as long as you don't stop

#9

السلام عليكم

أخوتي الكرام ال db هو عبارة عن MySQLDataBase

مع العلم أنه لايوجد OnConnectionError

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

مواضيع مشابهة