पर एक स्क्रिप्ट विधि को लिंक करता है, मुझे आश्चर्य है कि क्या DWScript डेल्फी रूप पर नियंत्रण के लिए एक ईवेंट हैंडलर के रूप में स्क्रिप्ट विधि का उपयोग करने का समर्थन करता है। उदाहरण के लिए मैं एक टीबीटन ऑनक्लिक घटना को स्क्रिप्ट में मौजूद एक विधि से लिंक करना चाहता हूं।डेल्फी वेब स्क्रिप्ट (डीडब्लूस्क्रिप्ट) एक बाहरी नियंत्रण घटना
मैं GetProcMethod को कॉल करके RemObjects डेल्फी स्क्रिप्ट इंजन के साथ ऐसा करने में सक्षम हूं जो एक TMethod ऑब्जेक्ट देता है। मैं फिर बटन के ऑनक्लिक ईवेंट को स्क्रिप्ट विधि असाइन करने के लिए SetMethodProp का उपयोग करता हूं।
procedure LinkMethod(SourceMethodName: String; Instance: TObject; ScriptMethodName: String);
var
ScriptMethod: TMethod;
begin
ScriptMethod := ScriptEngine.GetProcMethod(ScripMethodName);
SetMethodProp(Instance, SourceMethodName, ScriptMethod);
end;
मैं रेम के बजाय DWScript में ऐसा करना चाहते हैं स्क्रिप्ट इंजन वस्तुओं के रूप में यह कुछ अन्य सामान है कि मैं जरूरत है।
इसके लिए धन्यवाद। दुर्भाग्य से हालांकि मैं रनटाइम तक आवश्यक पैरामीटर की घटना का नाम नहीं जानूंगा। RemObjects ईवेंट कॉल को अवरुद्ध करने और स्क्रिप्ट किए गए ईवेंट हैंडलर पर पैरामीटर को अग्रेषित करने में संभालता है। इस तरह आपको संकलन समय पर लागू होने वाली विधि के बारे में कुछ भी जानने की आवश्यकता नहीं है। मैं उम्मीद कर रहा था कि डीडब्ल्यूएस ऐसा कुछ करता है। –
यह इस समय नहीं किया गया है क्योंकि डीडब्लूस्क्रिप्ट पूरी तरह से सैंडबॉक्स करने योग्य है और सुरक्षा के लिए लक्ष्य है, दृष्टिकोण रेमोबजेक्ट के उपयोग के परिणामस्वरूप स्मृति भ्रष्टाचार या क्रैश हो सकता है यदि पैरामीटर के बीच कोई मेल नहीं है। आरटीटीआई ने उस पर कुछ प्रगति की है, लेकिन यह अभी भी मेमोरी लीक या एवी के लिए कमजोर होगा, क्योंकि डेल्फी कार्यक्रमों के लिए मेमोरी प्रबंधन को स्वचालित करने का कोई तरीका नहीं है। यदि कोई उन सीमाओं के साथ रह सकता है और सहायक कोड प्रकाशित कर सकता है, तो मैं इसे एकीकृत कर दूंगा ... उपयुक्त "सावधानी" नोटिस के साथ ;-) –