• 0
ameedoo3000

عدم ظهور رسائل الخطأ

سؤال

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

اليوم الاربعاء الموافق 21 من ديسمبر لعام 2016 ............ كل عام وانتم بخير 

سؤالى هو : هل هناك طريقة لتخطى أى رسائل الخطأ التى تظهراثناء تشغيل البرنامج ، بمعنى انه ( مثلا ) عند عدم وجود جدول البيانات فى مكانة لا تظهر رسالة الخطأ أثناء فتح النموذج ... 

فهل هذا ممكن ؟!

ارجو الافادة وارجو ايضا عدم التاخير فى الرد 
مع جزيل الشكر والتقدير لجميع اعضاء ومشرفين المنتدى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

وعليكم السلام اليوم 22 ديسمبر وانت بألف خير ان شاء الله

يمكنك الغاء الرسائل عن طريق الأمر 

ON ERROR *

ولكن قبل أن تفعل.... هل تظن بأن هذه أفضل طريقة ...اذا أردت الأفضل ؟؟ 

لماذا أساسا يستمر البرنامج بالعمل في حال عدم القدرة على ايجاد الجداول ؟؟ وما الغاية منه، وما كم المشاكل اللاحقة لذلك ؟؟ 

الا في حالة رغبتك بالوصول للشاشة الرئيسية لتحديد بعض الخيارات مثلا... ومنع باقي الشاشات...

برأيي المتواضع عليك استخدام أوامر أخرى

مثل 

IF FILE('TableName.dbf')

IF NOT USED('TableName.dbf')

وقد تطور الى الموضوع الى انشاء Procedure خاص بالتحقق من وجود الملف أولاً وهل هو مستخدم ام لا ثانيا ، ثم تقوم باستخدامه والعودة بالنتيجة 

قد يكون الـ Procedure على النحو التالي ( ونسميه مثلا  YourPrgFile.prg ) 

FUNCTION UseTable( tcTableName )
	IF VARTYPE(tcTableName)<>"C" OR EMPTY(ALLTRIM(tcTableName))
		RETURN .F.
	ENDIF
	LOCAL lcTable, llok
	lcTable=ALLTRIM(tcTableName)
	m.llok = .F.
	IF FILE(lcTable + '.dbf')
		IF NOT USED(lcTable)
			TRY
				USE (lcTable) SHARED IN 0
			CATCH TO oErr
			ENDTRY
		ENDIF
		IF USED(lcTable)
			m.llok=.T.
		ENDIF
	ENDIF
	RETURN m.llok
ENDFUNC

في الملف الرئيسي للبرنامج ضع الكود

Set procedure to YourPrgFile.prg

واستدعي الأمر على النحو التالي من أي مكان :

IF UseTable('xxx')
	MESSAGEBOX("Used and ready...")
ELSE
	MESSAGEBOX("No Tab...")
ENDIF

معلش الاطالة للفائدة .....مع التحية

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله كل خير اخى الكريم عبد الله 

لكن انت واسد العراق على أعلى مستوى برمجي وانا مازلت مبتدأ  ، وهذه الاكواد كثيرة وطويلة ، والامر لا يستدعى كل هذا !

الموضوع وما فيه هو الغاء رسالة الخطأ التى تظهر عند تشغيل البرنامج فى حالة عدم ايجاد الجداول، والهدف من ذلك هو عدم دراية المستخدم بان هناك مشكلة ولا اسبابها وبالتالى لا يكون هناك اى مساعي من المستخدم لإيجاد الحل .. وهذا من وجهة نظري نوع من انواع الحماية وان كانت بسيطة .

وانا بطبيعتى اميل الى الاختصار واليسر ، فعندما قلت ان هناك امر on Error *  والذى يلغى رسالة الخطأ ، سعدت به كثيرا ولكننى لا اعرف اين اضع هذا الامر وفى اى حدث ؟ 

ومرفق صورة من رسالة الخطأ والتى توضح ان سبب الخطأ هو عدم وجود الجدول والذى اسمه ظهر بهذه الرسالة 

ارجو ان تكون فكرتى وضحت 

مع جزيل الشكر والتقدير

وانا سعيد جدا بسرعة الرد .. جزاك الله كل خير

 

Error.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اهلا أخي أحمد وبارك الله فيك

الحمد لله على هذا.... ولا تقلق فأنا لليوم أتعلم وان كنت قد سبقتك بمراحل

وانت ما شاء الله واضح أنك شادد حيلك كويس وبتوصل للي بدك اياه ان شاء الله.

ان كان ولا بد فضع الأمر في البرنامج الرئيسي الذي تبدأ من خلاله البرنامج... 

وطبعا سبب هذا الخطأ هو تثبيت المسار الخاص بالجدول من خلال استخدامه داخل الـ data environment

سواء في النماذج أو التقارير

مع التحية

 

تم تعديل بواسطه a.jallad
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الله ينور عليك يا اخى عبد الله . هذا هو المطلوب

انا وان كنت حاولت الاجتهاد فهذا بفضلكم جميعا عليا و مساندتكم لي ، فجزاكم الله كل خير عنى وعن كل متعلم ، وجعله الله فى ميزان حسناتكم ..

احمد

 

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كل عام وأنتم بألف خير اخوتي الكرام

كم انا سعيد بالمشاركات والمعلومات المتبادله 

وتحياتي لكم من كل قلبي 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .