Hi Anan,
การโหลด jscript.dll โดยตรงผ่าน COM เพื่อเรียกใช้ฟังก์ชันภายใน DLL ไม่ใช่วิธีที่ Microsoft แนะนำ เนื่องจาก jscript.dll เป็นส่วนหนึ่งของ Windows Script Host และไม่ได้ expose ฟังก์ชันสาธารณะให้เรียกตรง ๆ ผ่าน Delphi หรือภาษาอื่น ๆ โดยตรง การเข้าถึงควรทำผ่าน COM Automation Interfaces ที่ Microsoft จัดเตรียมไว้ เช่น MSScriptControl.ScriptControl หรือ ActiveXObject("JScript") ซึ่งเป็นวิธีที่ปลอดภัยและรองรับอย่างเป็นทางการในการรัน JavaScript ภายในแอปพลิเคชัน Windows
ใน Delphi RAD Studio คุณสามารถใช้ MS Script Control ได้โดยเพิ่ม COM reference ไปที่ MSScriptControl.ScriptControl (ไฟล์ msscript.ocx) แล้วสร้าง instance ผ่าน CreateOleObject('MSScriptControl.ScriptControl') จากนั้นตั้งค่า Language := 'JScript' และใช้ ExecuteStatement หรือ Eval เพื่อรันโค้ด JavaScript ได้ทันที วิธีนี้ไม่ต้องโหลด jscript.dll เอง แต่เบื้องหลัง COM จะจัดการให้โดยอัตโนมัติ
หากคุณต้องการประมวลผลสคริปต์ในแอปพลิเคชันใหม่ของบริษัท วิธีที่ถูกต้องคือใช้ COM Automation ผ่าน MSScriptControl หรือย้ายไปใช้ Microsoft Edge WebView2 ซึ่งรองรับ JavaScript engine รุ่นใหม่และมีการดูแลความปลอดภัยต่อเนื่องจาก Microsoft แทนที่จะเรียก DLL โดยตรง ซึ่งถือว่าไม่ปลอดภัยและไม่รองรับในอนาคต
Harry.