مشكلة في إنشاء مكون أثناء التنفيذ !
#11
اخواني الكرام,, سؤآل عن نفس الموضوع,,,

انا الآن اشأت مكون مثل الأخ دوكتور موت,,

لكن ما فآئدة المكون ان كنت لا استطيع ان اكتب له اكواد؟

فمثلا في هذه الحآلة,, عملت button جديد وكتبت فيه
PHP كود :
edt.text := 'fffffffff' 

لكن الكومبلآير لا يقبل لآن المكون اصلا ليس موجود,, فما هو الحلّ بارك الله لكم
لكتآبة اكود للمكون الذي انشئه اثنآء التنفيذ,,

ان شاء الله السؤآل وآضح بارك الله لكم
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#12
أخي المبرمج فقط يجب ان تحدد مجال استخدام المكون :

1- تستخدمه فقط في الأجراء الحالي ( Local Variable ) : تعرفه فقط ضمن الأجراء ..

2- تريد الوصول اليه من كل الوحدة او الوحدات .. ( Global Variabl ) : تعرفه أسفل تعريف الفورم في القسم interface

PHP كود :
var
  
Form1: TForm1;
  
Edt : TEdit ; 

------------

و لكن الأمر المهم الواجب الأنتباه اليه هو التأكد من أنشاء المكون قبل أستخدامه ..

ويمكن استخدام اجراء التحقق بالشكل التالي:

PHP كود :
Try
if 
edt.HandleAllocated then
   Showmessage
('Component Created OK')
except
exit
end; 

بالتوفيق ان شاء الله ..
الرد
#13
نعم شكرا لك اخ روفر,, حآولت مرارا,,, ولحمد لله تم النجاح الآن,,

اشكرك كثيرا,, وطريقتك نآجحة,, :p
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#14
السلام عليكم
فيما يخص التأكد الذي نبه عليه أخي Rover بارك الله فيه، فيمكن إجراؤه بطريقة أخرى:
PHP كود :
if Assigned(Ed) then
    ShowMessage
('Ed Exist')
  else
    
ShowMessage('Ed not exist!'); 
بهذه الطريقة نتجنب الأخطاء ولا داعي لاستعمال الحلقة Try...Except
تحرير المكون مهم أيضا كما ذكر الأخ، ويكون:
- في نفس الإجراء إذا كان المتغير محلي (Local)
- عند الانتهاء من استخدامه أو في OnDestroy إذا كان المتغير عام (Global)
بشيء مثل:
PHP كود :
procedure TForm1.FormDestroy(Sender: TObject);
begin
  FreeAndNil
(Ed);
end; 
بالتوفيق.
الرد
#15
اخ كاش واحد,, شكرا على التوضيح و الملآحظات,,

اشكرك على هذا
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد


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


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