February 19, 2006

...XML מה יש לך דינה? כולה

אני בונה עכשיו איזה מין פרויקט אישי ב-flex 2.0 ונתקלתי באיזה קטע לא ברור של האפליקצייה הזו.
בין התהליכים, כמובן שיש העלאת מידע מקובץ XML. הכל טוב ויפה, הקובץ עולה כמו צ'אק נוריס ב"משימה וויאטנם", אבל משום מה, כאשר אני משנה נתונים בקובץ ה-XML, ומקמפל שנית, השינויים לא נכנסים לתוקף עד שאני לא מבצע שינוי קוד (ואפילו אם זה לשים רווח בשורה ראנדומאלית). מוזר, לא?
זה נשמע משהו שהוא הכלאה עם קבצי ה-ASO (שהדירו שינה ומעינינו ושיערות מראשינו). כמו נשמר איזה מין cache מסוים לגבי התוכן שעולה בעזרת ה- Loader. האמנם?
בכל מקרה, זה גורם להליך העבודה להיות מסורבל כמו לקלוע חלה מפלדת אל-חלד. די מתסכל, ואתה גם מרגיש כמו כסיל הכפר בכל פעם שאתה עושה את השינוי המטומטם הזה בקוד.
אם מישהו יודע אחרת, למה ואיך – אני אשמח לשמוע.

6 comments:

Le-Fay said...

באמת נשמע מוזר,
ו... לא אין לי פתרון.
הגיוני שקבצים שלא השתנו לא יעברו "הידור-עאלק" אבל אם אתה מדבר על טעינה של מידע חיצוני בזמן ריצה זה באמת לא ברור לי.
הרי אם הקובץ שאתה טוען נוצר דינאמית כל פעם ע"י שרת או משהו דומה?
לא הגיוני... לא הגיוני בכלל.
באל אופן, יהיה מעניין לשמוע על מה אתה עובד (-:

FlashMattic said...

אכן אכן, הזויה היא דרכו של פלקס.
הדבר היחידי שאני יכול להעלות על דעתי, הוא שאיכשהו המופע של loader לא מתנקה (איכשהו... כמו מופע של דיויד קופרפילד) ועדיין שומר על המידע שיש בו.
זה לא loader של as3 אלא קומפוננטה של פלקס הנקראת mx:XML. היא כנראה לא אוהבת שמלטפים אותה לא נכון.
בכל אופן, מה שאני עובד עליו זה ממש לא משהו רציני, אלא יותר משהו שרציתי לעשות רק בכדי לפשט לי דברים.
שיבוא הרגע להשיק, אני אקרא לך לבירה על חשבון הבית :)

gadi said...

אני זוכר שהיו מקרים בגרסאות קודמות שהפלאש היה מבצע caching ל-XML, אבל מדובר היה בטעינה משרת חיצוני. יש מצב לשרשר לקריאת ה-xml:
file.xml?random=randomNumber ?

כי אז זה עזר :)

FlashMattic said...

לא, למיטב ידעתי אי אפשר לשרשר את זה לתג ה-MXML.
אתה יודע אחרת?

gadi said...

הפקודות הן של MXML או של actionscript? מה הקוד בו אתה משתמש לטעינה?

FlashMattic said...

זה למעשה תג ב-MXML שנקרא - mx:XML.
אפשר להגדיר לו id ומקור ולקשר אליו בעזרת binding.
כמו שכתבתי למעלה...