مشاهدة النسخة كاملة : كيف يمكن الكتابة في متغير من النوع TNotifyEvent ؟
kachwahed
08-01-2009, 12:21 PM
بارك الله فيك على التوضيح.
وكيف يمكن الكتابة في متغير من النوع TNotifyEvent ؟
B.M.AbdelAziZ
09-01-2009, 11:01 AM
TNotifyEvent نوع حذث
اي ما هو الا اجراء
TNotifyEvent = procedure (Sender: TObject) of object;
فماذا تقصد بالكتابة في المتغير ؟ اوضح ما تريد فعله
kachwahed
10-01-2009, 07:34 AM
بارك الله فيك على الرد.
الذي كنت أقصد أن نقوم بإنشاء حدث في زمن التشغيل (at runtime) ثم نجعل أحد المكونات يأخذ هذا الحدث.
مثلا أنشأنا حدث (MyEvent: TNotifyEvent) يمكننا أن نجعله يأخذ حدث آخر (MyEvent:=Button1.OnClick)،
فهل يمكننا أن نكتب فيه إجراءات وأوامر لنستعملها لاحقا (MyEvent:=...???)
وشكرا جزيلا لك أخي المشرف.
B.M.AbdelAziZ
10-01-2009, 12:11 PM
تقصد شيئ مثل هذا ؟
MyEvent := Button1.OnClick;
Button2.OnClick := MyEvent;
kachwahed
10-01-2009, 01:43 PM
هذا أعرفه أنا قلته...
لست أعني ذلك بل أن أجعله يأخذ قيمة أخرى...
بعبارة أخرى أن يكون له حدث مستقل به لم يأخذه من أي مكون.
أقصد شيء مثل هذا:
MyEvent :=
begin
...// while ...do ...
...//if ... then
...// for ...:= to ... do ...
end;
Button1.OnClick := MyEvent;
أعتقد أن الفكرة اتضحت الآن :D، بارك الله فيك أخي المشرف.
kachwahed
07-02-2011, 05:13 PM
ينبغي فقط إضافة الحدث إلى النموذج الأصلي (TForm1 في المثال)
procedure TForm1.MyEvent(Sender: TObject);
begin
ShowMessage('Message from MyEvent');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Button1.OnClick := MyEvent;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Message from Original Event');
end;
vBulletin® , Copyright ©2008-2012