المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
بارك الله فيك على التوضيح.
وكيف يمكن الكتابة في متغير من النوع TNotifyEvent ؟
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
TNotifyEvent نوع حذث
اي ما هو الا اجراء
كود :
TNotifyEvent = procedure (Sender: TObject) of object;
فماذا تقصد بالكتابة في المتغير ؟ اوضح ما تريد فعله
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
بارك الله فيك على الرد.
الذي كنت أقصد أن نقوم بإنشاء حدث في زمن التشغيل (at runtime) ثم نجعل أحد المكونات يأخذ هذا الحدث.
مثلا أنشأنا حدث (MyEvent: TNotifyEvent) يمكننا أن نجعله يأخذ حدث آخر (MyEvent:=Button1.OnClick)،
فهل يمكننا أن نكتب فيه إجراءات وأوامر لنستعملها لاحقا (MyEvent:=...???)
وشكرا جزيلا لك أخي المشرف.
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
تقصد شيئ مثل هذا ؟
كود :
MyEvent := Button1.OnClick;
Button2.OnClick := MyEvent;
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
هذا أعرفه أنا قلته...
لست أعني ذلك بل أن أجعله يأخذ قيمة أخرى...
بعبارة أخرى أن يكون له حدث مستقل به لم يأخذه من أي مكون.
أقصد شيء مثل هذا:
PHP كود :
MyEvent :=
begin
...// while ...do ...
...//if ... then
...// for ...:= to ... do ...
end;
Button1.OnClick := MyEvent;
أعتقد أن الفكرة اتضحت الآن

، بارك الله فيك أخي المشرف.
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
ينبغي فقط إضافة الحدث إلى النموذج الأصلي (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;