08-01-2009, 01:21 PM
09-01-2009, 12:01 PM
TNotifyEvent نوع حذث
اي ما هو الا اجراء
كود :
TNotifyEvent = procedure (Sender: TObject) of object;فماذا تقصد بالكتابة في المتغير ؟ اوضح ما تريد فعله
10-01-2009, 08:34 AM
بارك الله فيك على الرد.
الذي كنت أقصد أن نقوم بإنشاء حدث في زمن التشغيل (at runtime) ثم نجعل أحد المكونات يأخذ هذا الحدث.
مثلا أنشأنا حدث (MyEvent: TNotifyEvent) يمكننا أن نجعله يأخذ حدث آخر (MyEvent:=Button1.OnClick)،
فهل يمكننا أن نكتب فيه إجراءات وأوامر لنستعملها لاحقا (MyEvent:=...???)
وشكرا جزيلا لك أخي المشرف.
الذي كنت أقصد أن نقوم بإنشاء حدث في زمن التشغيل (at runtime) ثم نجعل أحد المكونات يأخذ هذا الحدث.
مثلا أنشأنا حدث (MyEvent: TNotifyEvent) يمكننا أن نجعله يأخذ حدث آخر (MyEvent:=Button1.OnClick)،
فهل يمكننا أن نكتب فيه إجراءات وأوامر لنستعملها لاحقا (MyEvent:=...???)
وشكرا جزيلا لك أخي المشرف.
10-01-2009, 01:11 PM
تقصد شيئ مثل هذا ؟
كود :
MyEvent := Button1.OnClick;
Button2.OnClick := MyEvent;10-01-2009, 02:43 PM
هذا أعرفه أنا قلته...
لست أعني ذلك بل أن أجعله يأخذ قيمة أخرى...
بعبارة أخرى أن يكون له حدث مستقل به لم يأخذه من أي مكون.
أقصد شيء مثل هذا:
أعتقد أن الفكرة اتضحت الآن
، بارك الله فيك أخي المشرف.
لست أعني ذلك بل أن أجعله يأخذ قيمة أخرى...
بعبارة أخرى أن يكون له حدث مستقل به لم يأخذه من أي مكون.
أقصد شيء مثل هذا:
PHP كود :
MyEvent :=
begin
...// while ...do ...
...//if ... then
...// for ...:= to ... do ...
end;
Button1.OnClick := MyEvent;
، بارك الله فيك أخي المشرف.07-02-2011, 06:13 PM
ينبغي فقط إضافة الحدث إلى النموذج الأصلي (TForm1 في المثال)
PHP كود :
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;