צפיות
תשובות
שגיאה מוזרה ללא פתרון
צצה לי שגיאה שבחיים לא ניתקלתי בה עד היום ובעיקרון, אינני יודע מדוע היא מופיעה לי.
השגיאה המתקבלת הינה:
Response object error 'ASP 0185 : 80020003'
Missing Default Property
bla.asp, line 0
A default property was not found for the object.
אני רק יכול לומר מה גורם לה את התקלה וזה בגלל שבאותו העמוד אני משתמש עם FSO על מנת לקרוא נתונים מתקייה מסויימת והדבר השני הוא קריאת מיימדי תמונה.
הבעיה היא שעל מנת לקרוא מיימדי תמונה עם AspJpeg או עם רכיב חינמי צריך להגדירו, לדוגמא:
Set bla = Server.CreateObject("Persits.Jpeg")
במידה והקוד הנ"ל מופיע, השגיאה גם מופיעה.
אני צריך לציין שהשגיאה לא מונעת דבר מלפעול, כלומר העבודה עם ה-FSO ועם aspJpeg עובדים חלק וללא בעיה.
השגיאה מופיעה לי בסוף העמוד והשורה שבה יש שגיאה לא נראית לי הגיונית כלל.
מישהו במקרה יודע מה התקלה כאן, אם קיימת בכלל ??
תודה.
11 תשובות
עניתי בתפוז
לא הבנתי
לא ממש הבנתי את תגובתך בתפוז.
את יכולה לפרט או להסביר? תודה.
תראה קצת קוד.
הנה 2 הקודים
קוד לדוגמא ב-FSO:
Set PicFso = Server.CreateObject("Scripting.FileSystemObject")
PicPath = Server.MapPath("/pic/")
Set PicFolder = PicFso.GetFolder(AvPath)
Set PicFiles = PicFolder.Files
For Each f1 In PicFiles
List = List & "<option name='pic' value='/pic/" & f1.Name & "'>" & replace(replace(right(f1.Name, len(f1.name)-6), "_", " "), mid(f1.name, len(f1.name)-3, 4), "") & vbcrlf
Next
Set PicFso = Nothing
הקוד שלוקח את ממדי התמונה:
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
If Fso.FileExists(Server.MapPath(Pic)) Then
Set Img = Server.CreateObject("Persits.Jpeg")
Img.Open Server.MapPath(Pic)
w = Img.Width
h = Img.Height
Set Img = Nothing
End If
Set Fso = Nothing
אם אני שם את הקוד של FSO אחרי הקוד של ממדי התמונה אני מקבל שגיאה אחרת וזה עוצר את טעינת העמוד. אם אני שם אותם לפי הסדר שכתבתי כאן הכל עובד אבל מוצגת שגיאה בסוף העמוד.
בלילה פתרתי את הבעיה עם פנקציה חינמית (עם FSO) של זיהוי ממדי תמונה אך הבעיה שלי היא שאי אפשר לדעת את ממדי התמונה של תמונה מסוג GIF במידה ושיניתי את גודלה ועם AspJpeg אפשר ובקלות רבה יותר.
תודה.
נלך לאט לאט
שורה כזאת נותנת שגיאה?
Set Img = Server.CreateObject("Persits.Jpeg")
כמו שכתבתי בהודעה הראשונה שלי
אם אני כותב את מה שאתה כתבת זה נותן שגיאה בסוף העמוד אבל הכל נטען ועובד והשגיאה איננה עוצרת את טעינת העמוד.
אז כן.
2 שאלות בנוגע להשוואת עבודה
1. במידה ויש לי 2 עמודים בשמות page1.asp ו-page2.asp. האם זה יותר טוב שהם נמצאים בנפרד או נמצאים באותו העמוד עם Select Case ו-Case נפרד לכל אחד מהם עם הקוד שלהם ? (ללא include file…)
2. הנה 2 קודים לדוגמא:
קוד 1:
Set rs = Server.CreateObject("ADODB.RecordSet")
sql = "Select * from tbl1"
rs.Open sql, conn
do while not rs.eof
Set rs2 = Server.CreateObject("ADODB.RecordSet")
sql2 = "select * from tbl2 where bla="&rs("bla11")
rs2.Open sql2, conn
do while not rs2.eof
bla bla
rs2.MoveNext
Loop
rs2.Close
set rs2 = Nothing
rs.MoveNext
Loop
rs.Close
set rs = Nothing
Set rs2 = Server.CreateObject("ADODB.RecordSet")
sql = "select ….tbl"
rs2.open sql, conn
loop…..
rs2.close
set rs2 = Nothing
קוד 2:
Set rs = Server.CreateObject("ADODB.RecordSet")
Set rs2 = Server.CreateObject("ADODB.RecordSet")
sql = "Select * from tbl1"
rs.Open sql, conn
do while not rs.eof
sql2 = "select * from tbl2 where bla="&rs("bla11")
rs2.Open sql2, conn
do while not rs2.eof
bla bla
rs2.MoveNext
Loop
rs2.Close
rs.MoveNext
Loop
rs.Close
set rs = Nothing
sql = "select ….tbl"
rs2.open sql, conn
loop…..
rs2.close
set rs2 = Nothing
איזה קוד יותר יעיל וחוסך משאבי שרת ? איזה מומלץ יותר?
ההבדל הוא בעצם שאני מגדיר את כל ה-RecordSet אחד מתחת לשני ולא איפה שאני בדיוק משתמש בו. מקווה שהקודים די מובנים עבור שאלתי.
אשמח לקבל מענה בצירוף נימוק.
תודה.
זה מאד תלוי בצרכים ובמטרת העמוד
והפרמטרים שהוא מקבל.
שרשר שאלותיך
ובכן זו מערכת
מערכת פורומים חמודה.
לפי איזה קוד בדיוק מומלץ לעבוד לפי המלצתך ?
בנוגע לשאלה הראשונה שלי (הדיון הראשי), יש תשובה ?
תודה.
התשובה שלי
התשובה שלי נכתבה במקום לא נכון למרות שכתבתי לכתוב אותה בתחתית הדיון…
כותרת: "ובכן זו מערכת"…
תודה.
סליחה על הדאבל הודעה, פשוט לא ידעתי אם לפתוח נושא חדש או לכתוב בקיים מאחר ואלה בעצם נושאים לשיחה שונה.