ฉันสับสนเกี่ยวกับวิธีการทำ for-each loop สำหรับอาร์เรย์ของอ็อบเจ็กต์ ขณะนี้วิธีการของฉันทำให้ฉันมีข้อผิดพลาดด้วยวิธีใดวิธีหนึ่งจากสองวิธี การดำเนินการ for loop อย่างใดอย่างหนึ่ง และประสบปัญหาเนื่องจากคิดว่าตัวแปรคลาสไม่ได้ถูกกำหนดไว้ หรือพบปัญหาว่าประเภทวัตถุเป็นการกำหนดที่ผิดกฎหมาย
นี่คือคลาสที่ฉันกำหนด:
Class url_Link
Public title, link
Public Default Function Init(newTitle, newLink)
title = newTitle
link = newLink
Set Init = Me
End Function
End Class
เพื่อการอ้างอิง ข้อผิดพลาดที่ฉันได้รับคือ:
ข้อผิดพลาดรันไทม์ Microsoft VBScript '800a01f5'
การกำหนดที่ผิดกฎหมาย: 'url_Link'
บรรทัด 674
ใช้ข้อมูลโค้ดนี้:
<% for each x in systemSettingsArray%>
<tr>
<td class='nograph'><A href='/th<%x.link%>'><%x.title%></a></td>
</tr>
<%next%>
และเมื่อฉันเปลี่ยน url_Link
เป็น x
ฉันได้รับข้อผิดพลาดนี้:
การเรียกขั้นตอนหรืออาร์กิวเมนต์ "ลิงก์" ไม่ถูกต้อง
รหัสที่สร้างวัตถุและเติมอาร์เรย์:
Dim systemSettingsArray(1)
Dim link
Dim arrayCounter
arrayCounter = 0
Set systemSettingsArray(arrayCounter) = (New url_Link)("Account Administration", "Maintenance/Account_Admin.asp")
arrayCounter = arrayCounter + 1
Set systemSettingsArray(arrayCounter) = (New url_Link)("Time Approval", "Maintenance/system_Time_Approval.asp")