טריגר PRE-FORM נקרא גם ביציאה מהמסך

פורומים אפיון ופיתוח פריוריטי טריגר PRE-FORM נקרא גם ביציאה מהמסך

  • Post
    ohad.s
    משתתף
    בוקר טוב
    בניתי טריגר PRE-FORM שמעדכן נתון כשנכנסים למסך בן, אבל הטריגר מופעל גם כשאני יוצא מהמסך, למה זה קורה?
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    תרשה לי בבקשה לדייק בשבילך כי אז יהיה יותר ברור.

    זה לא קורה כשאתה יוצא, זה קורה לאחר שאתה יוצא.

    הטריגר PRE-FORM רץ לא רק בכניסה למסך אלא גם במילוי אוטומטי של המסך כמסך בן (דבר שאפשר למנוע). ולכן אתה יוצא מהמסך למסך האב ואז יש רענון של הנתונים שמוצגים במסך הבן וכחלק מזה הטריגר הופעל שוב.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    ohad.s
    משתתף

    yitzchok: תרשה לי בבקשה לדייק בשבילך כי אז יהיה יותר ברור.
    <p data-fontsize="17"></p>
    <p data-fontsize="17">זה לא קורה כשאתה יוצא, זה קורה לאחר שאתה יוצא.</p>
    <p data-fontsize="17">הטריגר PRE-FORM רץ לא רק בכניסה למסך אלא גם במילוי אוטומטי של המסך כמסך בן (דבר שאפשר למנוע). ולכן אתה יוצא מהמסך למסך האב ואז יש רענון של הנתונים שמוצגים במסך הבן וכחלק מזה הטריגר הופעל שוב.</p>

    תודה על התגובה.

    הבנתי, האם יש דרך למנוע את הפעלת הטריגר שוב אחרי שאני יוצא מהמסך?

    yitzchok
    משתתף
    IL
    לא ידוע לי שיש דרך לזהות אם נכנסת למסך או רק הצגת באופן אוטומטי בעקבות נוכחות במסך האב.

    אבל כמו שציינתי יש דרך למנוע את ההצגה עד שנכנסים (אם אני לא טועה) – ראה את ההגדרה של מסך ההוא כמסך בן במסך האב שלו (אולי גם בהגדרה בתור מסך אב של מסך הבן, אני לא זוכר)

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    ohad.s
    משתתף

    yitzchok: לא ידוע לי שיש דרך לזהות אם נכנסת למסך או רק הצגת באופן אוטומטי בעקבות נוכחות במסך האב.
    <p data-fontsize="17"></p>
    <p data-fontsize="17">אבל כמו שציינתי יש דרך למנוע את ההצגה עד שנכנסים (אם אני לא טועה) – ראה את ההגדרה של מסך ההוא כמסך בן במסך האב שלו (אולי גם בהגדרה בתור מסך אב של מסך הבן, אני לא זוכר)</p>

    הבנתי על מה אתה מדבר. יש קבוע מערכת שמראה נתונים במסך הבן לאחר 5 שניות גם כאשר אני נשאר במסך אב מבלי לרדת למסך בן.

    הבעיה שלי לא קשורה לקבוע המערכת הזה (גם אחרי ששמתי אותו על 0 הטריגר PRE-FORM עדיין הופעל ביציאה ממסך הבן חזרה למסך האב – שאגב הטריגר לא מופעל אם אני עובר ישירות למסך בן אחר).

    מה שאני לא מבין זה למה יש טריגר PRE-FORM וטריגר POST-FORM אם בכל מקרה טריגר PRE-FORM מופעל גם ביציאה מהמסך (שבשביל זה יש את טריגר POST-FORM לא?)

    • התגובה הזו עודכנה לפני לפני 4 חודשים, 2 שבועות ע"י ohad.s.
    yitzchok
    משתתף
    IL
    כתבת:

    שאגב הטריגר לא מופעל אם אני עובר ישירות למסך בן אחר

    ולדעתי זה מסתדר יפה עם (ומאשר את) מה שאני כתבתי:

    הטריגר PRE-FORM רץ לא רק בכניסה למסך אלא גם במילוי אוטומטי של המסך כמסך בן (דבר שאפשר למנוע). ולכן אתה יוצא מהמסך למסך האב ואז יש רענון של הנתונים שמוצגים במסך הבן וכחלק מזה הטריגר הופעל שוב.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    ohad.s
    משתתף

    yitzchok: כתבת:
    <p data-fontsize="17"></p>

    <p data-fontsize="17">שאגב הטריגר לא מופעל אם אני עובר ישירות למסך בן אחר</p>

    <p data-fontsize="17">ולדעתי זה מסתדר יפה עם (ומאשר את) מה שאני כתבתי:</p>

    <p data-fontsize="17">הטריגר PRE-FORM רץ לא רק בכניסה למסך אלא גם במילוי אוטומטי של המסך כמסך בן (דבר שאפשר למנוע). ולכן אתה יוצא מהמסך למסך האב ואז יש רענון של הנתונים שמוצגים במסך הבן וכחלק מזה הטריגר הופעל שוב.</p>

     

    אבל גם כשביטלתי את המילוי אוטומטי של המסך כמסך בן, עדיין הטריגר מופעל ביציאה ממסך הבן חזרה למסך האב

    • התגובה הזו עודכנה לפני לפני 4 חודשים, 2 שבועות ע"י ohad.s.
    yitzchok
    משתתף
    IL
    אז יכול להיות שכאשר חוזרים למסך האב אז מסך הבן מתרענן גם אם לא מוגדר הצגה אוטומטית.

    אם אתה רוצה להבין למה ובאיזה שלב ה-PRE-FORM רץ, אתה יכול להפעיל את המסך במצב טרייס/דיבוג (ראה פרק Debug Tools בתיעוד ה-SDK) ולבדוק את קובץ הפלט אחרי כל פעולה. לדוגמה תשווה בין יציאה חזרה למעלה מהמסך ההוא לבין מעבר למסך ליד.

    בסופו של דבר, בעיניי פעולות ב-PRE-FORM אמורות לתמוך במסך אבל בצורה שלא משנה כמה פעמים יבוצעו. אולי אתה צריך להעביר את הפעולה למקום אחר.

    בהצלחה

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.