इस post जिसका स्वीकार किए जाते हैं जवाब देने के लिए इसके अलावा बहुत गुप्त रहता है:TProc <TObject> TNotifyEvent को
@Button1.OnClick := pPointer(Cardinal(pPointer(procedure (sender: tObject) begin ((sender as TButton).Owner as TForm).Caption := 'Freedom to anonymous methods!' end)^) + $0C)^;
मुझे आश्चर्य है कि मौसम यह एक सरल और सुरुचिपूर्ण तरीका जैसा चिंतन करना संभव है:
Button.OnClick :=
AnonProc2NotifyEvent (
procedure (Sender: TObject)
begin
((Sender as TButton).Owner as TForm).Caption := 'Freedom to anonymous methods!'
end
);
इतनी के रूप में
उसी उद्देश्य को प्राप्त करने के लिए और जहां AnonProc2NotifyEvent निम्नलिखित हस्ताक्षर के साथ बटन के मालिक का एक तरीका है:
TOwnerOfButton = class(TForm)
Button: TButton;
...
private
...
protected
function AnonProc2NotifyEvent(aProc: TProc<TObject>): TNotifyEvent;
public
...
end;
क्या यह व्यवहार्य है और यदि ऐसा है तो इसे कैसे कार्यान्वित किया जाए?
आप शायद [DSharp.Core.Events.pas] (http://code.google.com/p/delphisorcery/source/browse/trunk/Source/Core/DSharp.Core.Events] पर एक नज़र डालना चाहेंगे .pas)। –
@Stefan Glienke: मुझे यह याद दिलाने के लिए धन्यवाद, मैंने वास्तव में अपने बॉक्स पर डीएसएचआरपी स्थापित किया है और मुझे यह याद आया (मेरी बर्खास्तगी के लिए, मैं अक्सर इसका उपयोग अक्सर नहीं करता) लेकिन मेरा मानना है कि मैं इसकी शुरुआत के बाद इसका पालन करता हूं (बीवीटी I मैं डेल्फीप्रैक्सिस का सदस्य भी हूं, जर्मन में बहुत अच्छा नहीं बल्कि उत्साही जर्मन डेल्फी दृश्य पर नजर रखने का प्रयास करता हूं)। निश्चित रूप से जेनेरिक मेरा अगला कदम है। धन्यवाद * स्टीवी * :-) – menjaraz