delphi4arab منتديات دلفي للعرب
مشكلة في إنشاء مكون أثناء التنفيذ ! - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : مشكلة في إنشاء مكون أثناء التنفيذ ! (/showthread.php?tid=887)

الصفحات: 1 2


مشكلة في إنشاء مكون أثناء التنفيذ ! - AL-MOB4RM3G - 04-07-2009

اخواني الكرام,, سؤآل عن نفس الموضوع,,,

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

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

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

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

ان شاء الله السؤآل وآضح بارك الله لكم


مشكلة في إنشاء مكون أثناء التنفيذ ! - Rover - 04-07-2009

أخي المبرمج فقط يجب ان تحدد مجال استخدام المكون :

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; 

بالتوفيق ان شاء الله ..


مشكلة في إنشاء مكون أثناء التنفيذ ! - AL-MOB4RM3G - 04-07-2009

نعم شكرا لك اخ روفر,, حآولت مرارا,,, ولحمد لله تم النجاح الآن,,

اشكرك كثيرا,, وطريقتك نآجحة,, :p


مشكلة في إنشاء مكون أثناء التنفيذ ! - kachwahed - 04-07-2009

السلام عليكم
فيما يخص التأكد الذي نبه عليه أخي 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; 
بالتوفيق.



مشكلة في إنشاء مكون أثناء التنفيذ ! - AL-MOB4RM3G - 05-07-2009

اخ كاش واحد,, شكرا على التوضيح و الملآحظات,,

اشكرك على هذا