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

ما سبب عدم استجابة كود في زر

بدأه medreg في 31 يناير 2012 · 12 رد · 862 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندما اكون اشتغل في احد نوافذ البرنامج

واريد ان اخرج منها بواسطة الضغط على زر الخروج الذي يحوي الكود Close

في بعض الأحيان تتم العملية

وفي بعض الأحيان لا يستجيب الزر

واضطر للخروج من البرنام نهائيا بواسطة المفاتيح ctrl+alt+suppr

ماهو سبب هذا المشكل وماهو الحل المناسب له

وجزاكم الله عنا كل خير

#2

السلام عليكم

هل تطبيق من MDI ؟؟

أي يحوي على فورم رئيسي

ومجموعة من الفورمات تكون داخله !!

#3

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

البرنامج يحتوي على عدة فورمات

الفورم الأول هو للشاشة الترحيبية

وبعدها الفورم المتعلق بكلمة المرور للدخول الى البرنامج

ثم الفورم الرئيسي الذي بحتوي على

Menu principal du programme

والذي من خلاله ادخل الى باقي الفورمات

#4

السلام عليكم

الاخ مدرق

لم استطع ان اوصل لك سؤالي بشكل صحيح.

سؤالي : هل تستخدم MDI في تطبيقك ؟؟

ويمكن ايضا ان تكون قد قمت بنسخ الـ button من واحدة اخرى في نفس الفورم فذلك يسب مشاكل ايضا,

فالـ button الجديد يأخذ نفس الاحداث التي في القديم , بمعنى:

اذا كنت قد كتب كود ما في الحدث OnClick للـ button الاولى ثم قمت بعملية نسخ ولصق للـ button فأنك ستجد ان كلاهما يتشارك نفس الحدث بالكود المكتوب داخله ..

باتظار توضيحك...

تم تعديل هذه المشاركة بواسطة c_vita في 2 فبراير 2012 في 09:02

#5

اكتب

application.Terminate;
#6

السلام عليكم اخي c_vita

اولا الزر جديد وليس بعملية نسخ لصق

ثانيا اخي

انني لاحظت في بعض المشاركات كلمة MDI

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

لذا لو سمحت اخي اشرح لي هذه العبارة من فضلك

اي ماذا يقصد بها

وجزاكم الله عنا كل خير

أما بالنسبة لرد العضو Seiffo

فالكود الذي تفضلت به هو خاص بالخروج من البرنامج نهائيًا على ما اظن وليس الخروج من نافذة وإن كنت خاطيء فارجو التصحيح

ومشكور على المساهمة

تم تعديل هذه المشاركة بواسطة medreg في 3 فبراير 2012 في 14:55

#7

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

#8

السلام عليكم

MDI stand for Multi Document Interface

يعني التطبيقات متعددة النوافذ كا الوورد مثلا : حيث يمكنك فتح اكثر ن مستند داخل اطار البرنامج

وكان سبب سؤالي : انه في حالة تطبيقك من هذا النوع فالامر Close فقط لا يكفي للخروج من الفورم, بل تحتاج الى امر آخر يكتب في الحدث onclose

المهم الان هل بإمكانك ان ترفق الفورم الذي به المشكلة لأرى كيف استطيع ان اساعد؟!!

#9

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

ما ذكر غير كاف لاكتشاف الخلل. التكهن صعب جدا...

الأصل أن تعليمة Close المعرفة في TCustomForm تؤدي المطلوب، ما لم يطرأ عليها حدث

أحيانا تتم... وأحيانا تفشل، هذا يعني أن هناك حدث يلغي مفعول الأمر Close... حاول اكتشافه

جرب أيضا: زر TBitBtn مع ضبط Kind على bkClose، أو اضبط ModelResult على mrOk للزر الذي وضعته.

بالتوفيق.

تم تعديل هذه المشاركة بواسطة kachwahed في 3 فبراير 2012 في 23:05

#10

السلام عليكم ورحمة الله تعالى يا اخي kachwahed

واخيرا التقينا بعدما كنت السبب في حظري بمنتدى الدلفي للعرب

اعرف انك انت من تسبب في حظري ماعليش يا اخي المسامح كريم

انا نسيت الامر بل كان لفتة انتباهك فقط

واظنك ستعمل جاهدا على حظري بهذا المنتدى ايضا

سامحك الله

اعذرني لان حظري لسبب كلمة حق ليس بالسهل فهذه اكثر من سنتين هذا كثير

لقد وجدت الحل وهو وضع هذا الكود في الحدث onclose للفورم

action:=cafree;

بارك الله فيكم وزادكم من فضله آمـــــين

تم تعديل هذه المشاركة بواسطة medreg في 3 فبراير 2012 في 23:47

#11

السلام عليكم

اقتباس

لأصل أن تعليمة Close المعرفة في TCustomForm تؤدي المطلوب، ما لم يطرأ عليها حدث

أحيانا تتم... وأحيانا تفشل، هذا يعني أن هناك حدث يلغي مفعول الأمر Close... حاول اكتشافه

جرب أيضا: زر TBitBtn مع ضبط Kind على bkClose، أو اضبط ModelResult على mrOk للزر الذي وضعته.

بالتوفيق.

هل كلامك يعني انه وبدون كتابة كود سيتم اغلاق الفورم باحدى الطريقتين..؟!!!!

اذا كان الجواب نعم فهذه معلومة جديدة بالنسبة لي .

وعلى كل حال زادك الله علما وبارك فيه..

تحياتي ...

#12

السلام عليكم...

نعم كما قال أخونا kachwahed فإن ضبط الخاصية Kind للزر BitBtn يؤدي إلى إغلاق النافذة عند نقر الزر. أما ضبط الخاصية ModalResult على أية قيمة عدا mrNone فيؤدي إلى إغلاق النافذة فقط إذا كانت معروضة كـ Modal Form (أي باستعمال الوظيفة ShowModal بدل Show).

سلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#13

إذا كان الحل بضبط Action على caFree فهذا لأن السطر:

Application.CreateForm(TForm1, Form1);

محذوف من ملف المشروع (dpr) على الأرجح.

وهو كذلك أخي najy_zl بارك الله فيك على الإيضاح

واعذرني لاكتب كلمات لأخي medreg أوضّح فيها موقفي (وإن كان المقام غير مناسب)

أخي العزيز، أرجوا أن تصدقني إذ أني لا أحمل شيئا عليك مطلقا...

لست سببا في ما حصل بل ولا علاقة لي بذلك...

والدليل هو لأني لا أملك أصلا صلاحيات على الحسابات!

كل ما أفعله مراقبة المواضيع ونقلها إن خالفت أحد البنود (وليس الأمر على مزاجي)

أعمل جاهدا على حظرك!!!؟ غفر الله لك:)

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

أرجوا أن نحسن الظن ببعضنا البعض، لتستمر الفائدة

فكثير من تركوا المنتديات فقط بسبب هذه النوع الظنون

والأصل بالمسلمين حسن الظن...

المعذرة مرة أخرى، بارك الله فيكم

بالتوفيق.

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