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=3905)



اجراء مهم لفتح النماذج الغير محملة بالذاكرة بسطر واحد - CMT-10 - 22-02-2012

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

قمت بعمل اجراء يقلص الكود كما بالشكل التالي:

كود :
procedure ShowFrm(Frm:Tform); begin if not Assigned(Frm) then begin Frm := TFrm.Create(Application); Frm.ShowModal; end; end;

كل الامور تمام ولكن Tfrm لا تنفع فكيف يمكنني ان اعبر بمتغير عن أي Class



ايضا السؤال الثاني :

كيف يمكن الوصول الى متغيرات عامة او اجراءات دون ان اكتب اسم الوحدة التابع لها مثل :

كود :
TFrmmain.GetValue()

أسم الوحدة Tfrmman غير مطلوب


السؤال الثالث عند الرغبة في انهاء اي نموذج من الذاكرة نكتب :

كود :
procedure TFrmEmplyee.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; FrmEmplyee := nil; end;


مثلاً بهذا الحدث والسؤال كيف اجعل هذا الاجراء يقوم بالغاء اي نماذج اخرى وتتشارك في هذا الاجراء
مثل ان أكتب


كود :
Action := caFree; Sender := nil;

او مثل التالي :


كود :
Action := caFree; Self := nil;


مع ان الامر لم ينجح


اجراء مهم لفتح النماذج الغير محملة بالذاكرة بسطر واحد - kachwahed - 22-02-2012

وعليكم السلام ورحمة الله وبركاته
ليتك أفردت لكل سؤال موضوع
الأول، انظر:
http://www.delphi4arab.net/forum/showthread.php?tid=4722
الثاني: أكتبه خارج الصنف:
كود :
type TSomeType = class public //procedure DirectAccess; end; procedure DirectAccess; begin ... end;
الثالث: حدد نفس الحدث لجميع النماذج.