كيف يمكن الكتابة في متغير من النوع TNotifyEvent ؟
#1
بارك الله فيك على التوضيح.
وكيف يمكن الكتابة في متغير من النوع TNotifyEvent ؟
الرد
#2

TNotifyEvent نوع حذث
اي ما هو الا اجراء
كود :
TNotifyEvent = procedure (Sender: TObject) of object;

فماذا تقصد بالكتابة في المتغير ؟ اوضح ما تريد فعله
الرد
#3
بارك الله فيك على الرد.
الذي كنت أقصد أن نقوم بإنشاء حدث في زمن التشغيل (at runtime) ثم نجعل أحد المكونات يأخذ هذا الحدث.
مثلا أنشأنا حدث (MyEvent: TNotifyEvent) يمكننا أن نجعله يأخذ حدث آخر (MyEvent:=Button1.OnClick)،
فهل يمكننا أن نكتب فيه إجراءات وأوامر لنستعملها لاحقا (MyEvent:=...???)
وشكرا جزيلا لك أخي المشرف.
الرد
#4
تقصد شيئ مثل هذا ؟
كود :
MyEvent := Button1.OnClick; Button2.OnClick := MyEvent;
الرد
#5
هذا أعرفه أنا قلته...
لست أعني ذلك بل أن أجعله يأخذ قيمة أخرى...
بعبارة أخرى أن يكون له حدث مستقل به لم يأخذه من أي مكون.
أقصد شيء مثل هذا:
PHP كود :
MyEvent :=
  
begin
   
...// while ...do ...
   
...//if ... then
   
...// for ...:= to ... do ...
  
end;
Button1.OnClick := MyEvent; 
أعتقد أن الفكرة اتضحت الآن Big Grin، بارك الله فيك أخي المشرف.
الرد
#6
ينبغي فقط إضافة الحدث إلى النموذج الأصلي (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; 
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم