คำถามติดแท็ก vbscript


4
Pass Nothing จาก Javascript ไปยัง VBScript ใน IE9
ฉันมีกรอบที่เขียนด้วย VBScript ภายในบางฟังก์ชันในพารามิเตอร์เฟรมเวิร์กนี้ของฟังก์ชันจะถูกตรวจสอบสำหรับคำสั่ง Nothing in If จากนั้นการดำเนินการบางอย่างจะดำเนินการ โค้ดที่ใช้กรอบที่เขียนด้วย Javascript ดังนั้นฉันต้องส่ง Nothing to function เพื่อดำเนินการบางอย่าง ใน IE8 และเวอร์ชันก่อนหน้านี้ใช้แนวทางต่อไป: <script type="text/vbscript"> Function Test(val) If (IsNull(val)) Then Test = "Null" ElseIf (IsObject(val)) Then If (val Is Nothing) Then Test = "Nothing" End If End If End Function Dim jsNothing Set jsNothing = Nothing …

4
VBScript - ใช้การจัดการข้อผิดพลาด
ฉันต้องการใช้ VBScript เพื่อตรวจจับข้อผิดพลาดและบันทึก (กล่าวคือเมื่อเกิดข้อผิดพลาด "log something") จากนั้นเริ่มบรรทัดถัดไปของสคริปต์ ตัวอย่างเช่น, ใน Error Resume Next 'ทำขั้นตอนที่ 1 'ทำขั้นตอนที่ 2 'ทำขั้นตอนที่ 3 เมื่อเกิดข้อผิดพลาดในขั้นตอนที่ 1 ฉันต้องการให้บันทึกข้อผิดพลาดนั้น (หรือใช้ฟังก์ชันที่กำหนดเองอื่น ๆ ) จากนั้นดำเนินการต่อในขั้นตอนที่ 2 เป็นไปได้หรือไม่ และฉันจะนำไปใช้ได้อย่างไร แก้ไข: ฉันสามารถทำสิ่งนี้ได้หรือไม่? บน Error Resume myErrCatch 'ทำขั้นตอนที่ 1 'ทำขั้นตอนที่ 2 'ทำขั้นตอนที่ 3 myErrCatch: 'บันทึกข้อผิดพลาด ดำเนินการต่อ

5
ฉันสามารถส่งอาร์กิวเมนต์ไปยัง VBScript (ไฟล์ vbs ที่เปิดตัวด้วย cscript) ได้หรือไม่
ฉันบันทึกสคริปต์นี้ไว้ใน "test.vbs": Set FSO = CreateObject("Scripting.FileSystemObject") Set File = FSO.OpenTextFile(workFolder &"\test.txt", 2, True) File.Write "testing" File.Close Set File = Nothing Set FSO = Nothing Set workFolder = Nothing เมื่อฉันเรียกใช้สคริปต์ฉันต้องการส่งผ่านค่าของตัวแปร "workFolder" ฉันจะทำเช่นนี้ได้อย่างไร? ฉันทำมันได้ไหม? บางอย่างเช่น "cscript test.vbs workFolder: 'C: \ temp \'" บางที? คำถามโบนัส: จำเป็นหรือไม่ที่จะล้างตัวแปรที่ส่งผ่านด้วย "Set workFolder = Nothing" หรือ VBSCript จะทำโดยอัตโนมัติเมื่อสิ้นสุดหรือไม่ …

1
ปริมาณการใช้หน่วยความจำของ GetRef (การรวบรวมขยะ) เปลี่ยนแปลงด้วย KB4525236
เราพบปัญหาหน่วยความจำไม่เพียงพอหลังจากติดตั้งKB4525236ใน Windows 2016 Servers / Windows 10 Clients GetRefแก้ไขการรักษาความปลอดภัยนี้ดูเหมือนว่าจะมีการเปลี่ยนแปลงช่วงเวลาที่หน่วยความจำที่เก็บขยะเมื่อเรียกฟังก์ชั่นผ่าน ก่อน KB4525236 แต่ละอินสแตนซ์ที่สร้างขึ้นในฟังก์ชั่นที่เรียกใช้ผ่านGetRefได้รวบรวมขยะทันทีที่ตัวแปรอินสแตนซ์ถูกตั้งค่าเป็นnothing โพสต์ KB4525236 เช่นกันสร้างขึ้นในฟังก์ชั่นที่เรียกว่าผ่านGetRefยังคงอยู่ในหน่วยความจำและเก็บขยะเฉพาะเมื่อเสร็จสมบูรณ์ทั้งฟังก์ชั่น เมื่อสร้างอินสแตนซ์ในการวนซ้ำสิ่งนี้สามารถเพิ่มและนำไปสู่หน่วยความจำไม่เพียงพอโดยเฉพาะอย่างยิ่งในกระบวนการ 32 บิต คำถาม เราไม่พบสิ่งที่เกี่ยวข้องทางออนไลน์ดังนั้นเราจึงต้องการได้รับการยืนยันจากผู้อื่นที่ประสบปัญหาเดียวกัน แก้ไขรอยขีดข่วนที่: นี่เป็นปัญหาเดียวกัน แต่ยังไม่มีวิธีแก้ปัญหา ณ (vbscript.dll class_terminate bug ตั้งแต่ KB4524570 (12 พฤศจิกายน 2019) Windows 10 1903) ถ้าใครสามารถตรวจสอบและรู้วิธีแก้ปัญหาที่ใช้การได้นั่นจะยอดเยี่ยม POC สคริปต์ต่อไปนี้ทำงานบนอุปกรณ์ที่ติดตั้ง KB4525236 แสดงความแตกต่างในการรวบรวมขยะเมื่อ เรียกโดยตรง: อินสแตนซ์ที่สองถูกสร้างขึ้นหลังจากอินสแตนซ์แรกถูกทำลาย(นี่คือพฤติกรรมที่เราต้องการ) เรียกผ่านGetRef: อินสแตนซ์ที่สองถูกสร้างขึ้นก่อนที่อินสแตนซ์แรกจะถูกทำลายดังนั้นเมื่อมีสองอินสแตนซ์ที่ใช้หน่วยความจำ บันทึกเป็น: KB4525236.vbs ทำงานเป็น: wscript KB4525236.vbs Dim …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.