هل يمكن تصحيح لهذا الكود المسؤول عن فتح فورم
#1
مرحبا جميعا قمت بكتابة موضوع البارحة ويمكن كان مخالف لذلك تم حذفه المهم لي مشكلة عند تنفيذ
البرنامج تظهر لي رسالة خطا
وعند بحث طويل اشك ان في هذا الكود المسؤول عن اظهار الفورم هو الذي به مشكل بعد ان اضفت له
كود تحميل التاريخ الموجود بالقاعدة على DateTimePicker لهذا تصحيح للكود ان كان خاطا
كود :
TForm2.Create(Self).Show; Form2.DateTimePicker1.Date :=Form1.ADOTable1T_Date.Value;
لا تقل ان هذا شيء كبير ففي الاصل هو اتى من شيء صغير Smile
الرد
#2
http://delphi4arab.net/forum/showthread.php?tid=11498
الرد
#3
B.M.AbdelAziZ كتب :http://delphi4arab.net/forum/showthread.php?tid=11498

مشكور لكن لم اجد مبتغاي انا مشكلتي فقط عندما اضيف كود لاستدعاء التاريخ
عندما انزعه لا يحدث شيء يفتح عادي انتظر الحل او التصحيح وكما في الموضوع السابق هذه هي الرسالة
كود :
http://www4.0zz0.com/2015/01/25/01/819611401.png
لا تقل ان هذا شيء كبير ففي الاصل هو اتى من شيء صغير Smile
الرد
#4

إقتباس :لكن لم اجد مبتغاي انا مشكلتي فقط عندما اضيف كود لاستدعاء التاري
موجود ربما لم تنتبه له : خطأ مثل هذا عادة يكون عند محاولة استدعاء Form او اي مكون لم يتم انشائه بعد
ساتابع معك..

غير الشيفرة المصدرية الى مايلي
كود :
TForm2.Create(Self); D := Form1.ADOTable1T_Date.AsDate; Form2.DateTimePicker1.Date := D; TForm2.Show;
لا تنسى اضافة متغير
كود :
Var D : TdateTime;

ضع نقطة توقف عند TForm2.Create(Self);
نفذ بF9 الى ان يتوقف البرنامج، عندها تبع بF8 الى ان يظهر الخطأ
الرد
#5
إقتباس :ضع نقطة توقف عند tform2.create(self);

ممكن تشرح لي قصدك هنا

ايضا المشكلة تظهر معي ايضا عندما استخدم كود مثل هذا يعني منع استخدم شيء ما من فورم الثاني
كود :
TForm2.Create(Self).Show; Edit1.enabled:=false;
لا تقل ان هذا شيء كبير ففي الاصل هو اتى من شيء صغير Smile
الرد
#6
[INDENT]
السلام عليكم ورحمة الله وبركاته ،
نقطة توقف أو ما يسمى ب Break Point ، لتشغيل البرنامج سطرا سطرا ...
مثال ذلك ، إذا كان لديك برنامج على النحو التالي :

كود :
سطر 1 سطر 2 سطر 3 سطر 4 سطر 5 سطر 6 سطر 7
إذا أردت تشغيل برنامجك سطرا سطرا لمعرفة أخطاؤك في البرنامج ، ضع مأشر الفأرة على السطر الأول ، ثم اضغط على المفتاح F5 تلاحظ أن السطر أصبح باللون الأحمر .
قم بتنفيذ البرنامج بالضغط على المفتاح F9 ، تلاحظ أن البرنامج توقف عند السطر الأول المشار إليه ، و دلفي ينتظر أوامرك لإكمال تشغيل البرنامج ، لإكمال تشغيل البرنامج سطرا سطرا اضغط على المفتاح F8 عند كل سطر ، وبهذا ستكتشف الخطأ في برنامجك.
لإلغاء نقطة التوقف ، اذهب إلى السطر الأول واضغط مرة أخرى على المفتاح F5.


بالنسبة لموضوعك أقترح عليك الحل التالي : على حسب ما فهمت أن Form1 تقوم باستدعاء Form2

كود :
var Temp : TForm2; begin temp := TForm2.create(self); temp.DateTimePicker1.Date := ADOTable1T_Date.Value; temp.ShowModal; temp.free; end


[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#7
السلام عليكم
كاضافة على ما قاله الاخ Unprogramme
للنسخ الحديثة تحتاج الى ان تكون الخاصية debug مفعلة
Project Manager> Build Configuration > Debug

[صورة: Sanstitre_zpsff6b5650.png]
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#8
Unprogramme كتب :[INDENT]
بالنسبة لموضوعك أقترح عليك الحل التالي : على حسب ما فهمت أن Form1 تقوم باستدعاء Form2
[/INDENT]
اجل تم ملا التاريخ مثل الموجود في الجدول المطلوب لكن تظهر لي رسالة اخرى
كود :
http://www3.0zz0.com/2015/01/27/00/654779373.png
لا تقل ان هذا شيء كبير ففي الاصل هو اتى من شيء صغير Smile
الرد
#9

عليك بفهم ما تقوم به ولا تنسخ وتنفذ فقط
عندما تكتب
كود :
var Temp : TForm2; begin temp := TForm2.create(self);
Temp تاخد تقريبا كل خصائص Form2
الان ان سبق واستعملت/استدعيت/اظهرت Form2 حتما هناك خصائص تغيرت ومنه عند انشاء/اضهار Temp ستكون نفسها وهذا سبب ظهور الخطأ الأخير، الخاصية Visible تساوي True ولا يمكن ساتدعاء Form بShowModal وقيمة Visible صحيحة True

الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم