delphi4arab منتديات دلفي للعرب

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

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

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

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

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

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

ايضا المشكلة تظهر معي ايضا عندما استخدم كود مثل هذا يعني منع استخدم شيء ما من فورم الثاني
كود :
TForm2.Create(Self).Show; Edit1.enabled:=false;
[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]
السلام عليكم
كاضافة على ما قاله الاخ Unprogramme
للنسخ الحديثة تحتاج الى ان تكون الخاصية debug مفعلة
Project Manager> Build Configuration > Debug

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

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