דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
איש אחדא

איש אחד

@איש אחד
אודות
פוסטים
523
נושאים
36
שיתופים
0
קבוצות
0
עוקבים
1
עוקב אחרי
0

פוסטים

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

  • נטפרי כלום לא עובד חוץ מהפורום הזה...
    איש אחדא איש אחד

    האמת, שעוד לפני שכתבת לי את התשובה,
    החלפתי בראוטר את ה DNS מאוטומטי לזה של OpenDNS (208.67.220.220 ,208.67.222.222) ואתחלתי מחדש,
    אבל זה לא עזר. יש טעם להחליף לזה של גוגל?

    בפרט, שכמו שכתבתי, גם כשאני מנסה להתחבר לאתר לפי IP הוא לא נכנס, ומאידך ה-DNS של code613m מגיב יפה.

    תודה רבה!

    פורסם במקור בפורום CODE613 ב10/12/2017 16:18 (+02:00)

    ארכיון code613m

  • נטפרי כלום לא עובד חוץ מהפורום הזה...
    איש אחדא איש אחד

    אני מנצל כרגע את הבמה הזו לפנות ל@mat ו @ClickOne - מחוסר ברירה מוחלט.

    בשעתיים ~ האחרונות,
    אני לא מצליח להכנס כמעט לשום אתר שהוא (כולל לאתר של netfree.link),
    לא משנה אם מדובר באתרי http או אתרי https, ולא משנה אם כתבתי דומיין או כתובת IP.
    כשאני מנסה להתחבר לאתרים, הדפדפן כותב לי למטה "ממתין ל-שם האתר..." ונשאר תקוע על זה (אני גם לא מקבל Time Out).

    הדברים הבודדים ששמתי לב שכן עובדים כרגיל זה gmail, הוויקי של נטפרי, ו- code613m 😉 , וכמובן - כתובות בטווח הרשת הפנימית.
    אני לא יכול לשלוח פנייה לנטפרי במרכז הפניות - כי גם האתר של נטפרי תקוע (וכן, גם 1.2.3.4).

    אני לא מצליח לתפוס איך זה יכול להיות.
    מה שקצת מחשיד אותי, זה ששמתי לב בהרבה מהאתרים שנתקעים, הוא נתקע בשלב של תקשור עם גוגל, למשל: ממתין ל fonts.googleapis.com

    כמובן שאתחלתי מחדש את הראוטר, ולא משם באה הישועה. כמו כן בדקתי בשני מחשבים שונים.

    הושיעה נא! וסליחה על השימוש הלא הוגן באתר זה...

    פורסם במקור בפורום CODE613 ב10/12/2017 15:29 (+02:00)

    ארכיון code613m

  • Google API, בדגש על "אנשי קשר" של גוגל
    איש אחדא איש אחד

    בס"ד

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

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

    רק שאלה קטנה:@דוד ל.ט.

    (תוכל גם להשתמש עם הSettings של הפרוייקט שיום אחד תכיר).

    האם אתה מתכוון ל Resources?
    כי אם כן, אני בהחלט מכיר את זה, השתמשתי בזה לא פעם.
    אבל האם הנתונים שמופיעים שם לא נחשפים ברפלקטור?

    תודה רבה!

    פורסם במקור בפורום CODE613 ב10/12/2017 17:58 (+02:00)

    ארכיון code613m

  • Google API, בדגש על "אנשי קשר" של גוגל
    איש אחדא איש אחד

    בס"ד

    @דוד ל.ט. , קודם כל תודה ענקית! איזה כיף זה שיש אמא טובה כמו דוד שמסכימה להאכיל בכפית - את כל מי שרק מבקש!

    למעשה,
    עם הדוגמא שהבאת הוא אכן כבר לא צעק "401 לא מורשה", אבל עדיין הוא מודיע שהשאילתא נכשלה.
    מה שעשיתי (בעקבות מקטע ה-UPDATE של השואל כאן), הוספתי למשתנה parameters את הפרופרטיז הבאים:

    parameters.ClientId = "BlaBlaBla.apps.googleusercontent.com"
    parameters.ClientSecret = "KukuAaaGlidaHama"והעסק התחיל לעבוד.
    

    אני רואה שגם בקוד שלך - הכנת משתנה בשם cs שמכיל את ה ID והסיסמא, אבל למעשה אתה לא עושה בו שימוש בהמשך הקוד (שהעלית).

    ועכשיו מגיעה שאלת ההמשך:
    אם באמת אני נאלץ לשתול בקוד עצמו את ה-id והסיסמה, ולא להפנות אותו לקובץ json שבמחשב,
    והאמת זה גם די הגיוני, אם אני שם את התוכנה במחשב אחר, הרי אין שם לא בלה בלה ולא קוקו :lol: (האמת שגם אצלי אין), אז מאיפה יהיה לו טוקן?
    האם זה לא סיכון לשים אותם כך גלויים בתוכנה? כל רפלקטור פשוט יחשוף אותם קומפלט! מה גם שגוגל מזהירים מזה כל הזמן.
    יש לזה איזשהו פתרון?

    תודה רבה!!!

    פורסם במקור בפורום CODE613 ב10/12/2017 11:58 (+02:00)

    ארכיון code613m

  • Google API, בדגש על "אנשי קשר" של גוגל
    איש אחדא איש אחד

    בס"ד

    תודה רבה על התשובה!

    1. סתם הערה שולית, אולי זה משמעותי? השגיאה שהוא מחזיר היא 401 לא מורשה (לא 404).

    2. אני גם ראיתי את התיעוד הרשמי עם 2 האפשרויות: לקריאה בלבד / גם כתיבה, ומשם גם לקחתי את הכתובת של ה Scope.
    הסיבה שרציתי גם כתיבה, א' כי למה לא? undefined ב', אני חולם בעתיד לעשות לאשתי מערכת ממוחשבת לניהול הלקוחות, ואז ארצה גם לעדכן את גוגל.

    3. למעשה, בדקתי את הסקופ גם עם הכתובת לקריאה בלבד, וגם עם 2 הכתובות שציינת - עבור כתיבה - אותו דבר. 401 לא מורשה.

    4. שאר הפרמטרים שכתבתי נכונים? המילה "user" היא לא לדוגמא! זה מה שכתבתי בפועל! כך צריך להיות באמת?
    ניסיתי גם לשים שם את ה client id שלי במקום user, אבל זה לא שינה כלום.

    השאלה הגדולה היא, האם בכלל אני כותב את השאילתא עצמה נכון, אולי שם טמונה הבעייה שלי? (ובמילים אחרות, תלמדו אותי תיכנות :lol:)
    כך כתבתי את השאילתא:

    Dim googleQuery As String = "https://www.google.com/m8/feeds/contacts/" & txtAccount.Text & "/full"
    Dim request As WebRequest = WebRequest.Create(googleQuery)
    Try
        Using response As WebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
        ....ובשלב זה הוא מנסה להתחבר לגוגל וזורק את ה-exception של לא מורשה.
    

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

    פורסם במקור בפורום CODE613 ב10/12/2017 00:02 (+02:00)

    ארכיון code613m

  • Google API, בדגש על "אנשי קשר" של גוגל
    איש אחדא איש אחד

    המשך לשרשור קודם שהתחיל להתפתח לכיוון Google API.

    טוב. אז אני עוצר עם ההתברברות ופונה לעזרתכם (עם קריצה גדולה ל @דוד ל.ט. - אכן, זה היה מובן מאליו שהשאלה הזאת תגיע... undefined )

    איך צולחים את משוכת ההזדהות מול גוגל?

    כתבתי את השורות דלהלן על סמך דוגמא של גוגל שרלוונטית לגוגל בוקס וממש לא לקונטקטס:

    Dim credential As UserCredential
    Using stream = New FileStream("D:\BlaBla\kuku\contacts_mysql.JSON", FileMode.Open, FileAccess.Read)
           credential = Await GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, {"https://www.google.com/m8/feeds/"}, "user", CancellationToken.None, New FileDataStore("Google.Apis.Auth"))
    End Usingבהרצה, אכן התוכנה הקפיצה דפדפן וביקשה אישור לאנשי קשר עבור התוכנה שלי, וכשאישרתי היא הודיעה שקיבלתי טוקן. (וואו, איזה גאווה!)
    

    אבל בזה זה נגמר.
    כשאני מנסה לשלוח לגוגל שאילתא פשוטה, הוא מחזיר לי "401 לא מורשה".
    עשיתי Break Point והסתכלתי על המשתנה credential אחרי קבלת הטוקן, ומה שמיד קפץ לי לעין זה הפרופרטי: Scope עם ערך Nothing.

    חשוב לי לציין, שהערך "user" בשורת ה credential זה לא דוגמא, אלא זה מה שכתבתי בפועל. אני אמור לכתוב משהו אחר?
    בכלל, אני לא מבין / מוצא הסבר ברור (עד התשובות שיבואו כאן), על הפרמטרים של GoogleWebAuthorizationBroker.AuthorizeAsync

    תודה רבה!!!

    פורסם במקור בפורום CODE613 ב08/12/2017 00:43 (+02:00)

    ארכיון code613m

  • ואלידציה של ישראכרט
    איש אחדא איש אחד

    אגב, ראית את זה? כמובן, קרדיט מלא ל @avr416

    פורסם במקור בפורום CODE613 ב06/12/2017 13:53 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    התחרטתי על ההודעה ששלחתי כאן מקודם, והחלטתי להעביר אותה לשרשור חדש,
    כי כבר סטינו לגמרי מהנושא של השרשור המקורי - שנפתר בהצלחה מרובה ע"י @דוד ל.ט. הצדיק!

    בשביל הסדר הטוב, אם יהיו כאלו שיחפשו בפורום את נושא הגוגל API, עדיף שימצאו אותו כנושא משלו - ולא כהמשך למשהו אחר.

    נ.ב. @דוד ל.ט. תודה רבה גם על זה:@דוד ל.ט.

    ממש משונה. היה פה כבר כזה סיפור
    viewtopic.php?f=1&t=1948
    זה הוסיף לי ידע חשוב!

    פורסם במקור בפורום CODE613 ב08/12/2017 00:37 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    @דוד ל.ט.

    ממש משונה. היה פה כבר כזה סיפור
    viewtopic.php?f=1&t=194

    הלינק שבור, אבל לא נורא:

    @דוד ל.ט.

    פה אני רואה שיש כזה דבר בהגדרות תאריך עבריות:

    תסלח לי שויתרתי על יצירת משתמש נוסף 😉
    החלפתי זמנית ללוח גרגוריאני, התקנתי, החזרתי ללוח עברי, ואני רץ למעריב...

    Successfully installed 'Google.Apis.Auth 1.31.0' to העלאת אנשי קשר של גוגל ל-MySQL
    ========== Finished ==========**הכל מעולה!**
    

    דאאאאאויד!!! דאאאאאויד!!!
    תודה רבה!!!

    פורסם במקור בפורום CODE613 ב07/12/2017 20:43 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    @דוד ל.ט.

    תעדכן.

    כל הכבוד, אתגרת אותי לא רע!

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

    ואז...

    ואז הגיע תורו של ויזואל סטודיו "להוציא לי קרניים" :twisted:

    אני מנסה להוסיף את ה-API מה-NuGet (שעד השעות האחרונות חשבתי שזה קשור רק לעולם הקולינרי - במבה, דגני בוקר etc),
    הוא מתחיל לשמור את הקבצים בתיקיית הפרויקט, ואז מוחק אותם שוב בתואנה:
    An error occurred while writing file 'D:\BlaBla\kuku\packages.config': Failed to write packages.config as XML file 'D:\BlaBla\kuku\packages.config'. Error: 'Illegal characters in path'.
    אציין רק, אין תווים בעברית ולא רווחים לאורך כל ה PATH של הפרויקט,
    כמו כן, ניסיתי בשני מחשבים שונים, אחד עם VS 2015 והשני עם VS 2017. אותו דבר.
    אם זה נפק"מ, אז המכנה המשותף בין המחשבים שמותקן עליהם Win 10 Fall Creators Update, והם גולשים דרך נטפרי. (ויש להם מסך :lol: )

    תודה רבה!

    פורסם במקור בפורום CODE613 ב07/12/2017 19:37 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    @מנצפך

    האם הAPI לגוגל קריטי לך? כמה זה חשוב לך? ... אולי תעשה עדכון ידני פעם בחודש?

    לטווח הקרוב, באמת לא קריטי. אפשר לעשות זאת ידני - כמו שדיברנו.
    עיקר העניין הוא, שבפעם הבאה שתתקשר אלי, אזהה שזה אתה, ולא עוד איזה נודניק תורן... undefined
    ובנימה יותר רצינית,
    יש לאשתי עסק זעיר, וחשוב לה היכולת לזהות לפני שהיא עונה - את הלקוחות שמגיע להם יחס X מול הלקוחות ש(לא) מגיע להם יחס Y... 😉
    ובשביל זה, ברור שאתה צודק שאין צורך ב-API ובסנכרון, ולכן התחלתי כבר לצעוד בכיוון הזה.

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

    פורסם במקור בפורום CODE613 ב07/12/2017 12:22 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    @דוד ל.ט.

    ואגב, בשלב זה יש לך על מה לחשוב על api לcontact.
    האמת, שהפעם הצלחת לבלבל אותי! undefined

    רק בגלל מה שכתבת כאן, החלטתי בינתיים לוותר על הרעיון של ה-API לגוגל קונטקטס,
    ולהתחיל "על אש נמוכה" - בלי סנכרון, אלא רק ייצוא חד פעמי של אנשי הקשר הנוכחיים לקובץ CSV והעלאתו למסד שלי.

    אז למעשה, אתה כן ממליץ לקפוץ למים וללכת על סנכרון מלא עם ה-API של גוגל?

    תודה רבה!

    פורסם במקור בפורום CODE613 ב06/12/2017 20:11 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

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

    אני אישית אמשיך לפתח את התוכנה לכיון יותר אישי,
    של מניפולציה על CSV שהורדתי מ"גוגל קונטקטס" עם כל אנשי הקשר שלי,
    והעלאתם למסד MySQL כששדות הנתונים מחולקים אחרת לגמרי מגוגל - לטובת המרכזייה הטלפונית שלי.

    אם בסופו של יום - כשמישהו מהחברים כאן - שבמקרה המספר שלו שמור אצלי באנשי הקשר (ויש כאן כמה כאלו) -
    יתקשר אלי, ואני ארים את השיחה: @ניק-פלוני-אלמוני, מה נשמע?
    אז תדעו לכם - שהכל בזכות הצדיקים דכאן, בלעדיהם כנראה הייתי ממשיך לחלום עד 120 על "ללמוד יום אחד SQL"... undefined

    ובעז"ה אחרי שאשלים את פרוייקט הדטה בייס, אנסה להתחיל עם עולם ה WEB.
    היכונו לשאלת השאלות עם איזה IDE הכי מומלץ להתחיל... :mrgreen:

    גישה למסדי MySQL.zip

    פורסם במקור בפורום CODE613 ב06/12/2017 18:51 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    אני רואה שאנחנו עובדים בצורה אסינכורנית, תוך כדי שאתה כתבת תגובה חדשה - אני כתבתי תגובה לתגובתך הקודמת. :lol:

    וואו, הרעיון שהעלית בתגובתך האחרונה - הוא אדיר, וכמובן שהוא מייתר לגמרי את תגובתי הקודמת שנכתבה לפני שראיתי את הרעיון שלך.

    תודה רבה!!!

    אגב,@דוד ל.ט.

    אני חייב להודות שהראש שלך פיקח מידי
    ביארת לי עכשיו פשט בברכות לא: את הסבר ר' דימי לבקשת חנה "ונתתה לאמתך זרע אנשים", שהוא מסביר שהיא ביקשה בן "... ולא חכם ..." 😉
    כמובן שזה לא יותר מבדיחותא בעלמא, "אין קשר בין המצולם לכתבה"...

    פורסם במקור בפורום CODE613 ב06/12/2017 00:38 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    תודה על תשובתך!

    בקשר לב',
    דווקא לשגיאות בתוך התהליך כבר עכשיו זה מנוהל מתוך מתודת התהליך עצמו,
    אבל עיקר השאלה ששאלתי זה למקרה של עצירת מתודת ה-Async עוד לפני שהיא מגיעה לשלב של התהליך.

    למשל,
    בתחילת מתודת ה-Async, היא בודקת אם מולאו הנתונים בשדות של: כתובת השרת-יוזר-סיסמא, ובמידה ולא - היא מודיעה על השגיאה, ומסתיימת.
    כמובן, שבשלב זה, המתודה שקראה למתודת ה-Async שנכשלה, אמורה לדעת לעצור גם היא ולא להמשיך הלאה.

    עד ש"העלית אותי" על ה-Async, עשיתי את זה עם הפונקצייה BeforeQuery, שבמידה והיא נפלה באמצע - היא החזירה false.
    השאלה אם יש דרך דומה להגדיר גם את מתודת ה-Async כ"פונקצייה", או אולי דרך אחרת בכלל?

    תודה רבה!!!

    פורסם במקור בפורום CODE613 ב06/12/2017 00:00 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    בס"ד

    ובכן, הרעיון להכניס ללמבדה את כל "המשך הטיפול" ולשלוח אותה למתודת ה-Async כארגומנט - אכן עושה את העבודה. תודה רבה!

    וברשותך ר' @דוד ל.ט., שתי שאלות שנולדו לי בעקבות הפתרון:

    **א.**בדוגמא שהכנת, אתה יוצר את ה-DataSet מתוך פונקציית תהליך המשנה, ומחזיר אותו למתודת ה-Async.
    האם לאחר שמתודת ה Async סיימה את פעילותה, עדיין אוכל לגשת ל DataSet לצורך בדיקה אם השתנו בו דברים, ואם כן לעדכן אותם במסד?
    כי איך שאני עשיתי עד עכשיו, הגדרתי את ה DataSet כמשתנה גלובלי בשם result, ודרכו תיקשרתי עם המסד - מכל מתודה בתוכנה, כגון:

    dataAdapter.Update(result) ' לשמירת השינויים שנעשו בדטה גרידאו:
    
    If result.GetChanges IsNot Nothing Then ' מציע למשתמש לשמור שינויים לפני הפעלת שאילתא חדשה
    

    ב. האם יש דרך להשתמש במתודת ה-Async כפונקצייה במקום שגרה, בכדי שאוכל להחזיר ערך בוליאני שיודיע על כשל באמצע?
    כמובן שתמיד ניתן ליצור משתנה גלובלי שיקבל false בתחילת השגרה וישתנה ל true בסופה, אבל בשביל זה יש פונקצייה, לא? 😉
    ניסיתי להגדיר את ה-Async כפונקצייה מסוג Task(Of Boolean), ולבדוק במתודה שקראה לה את תוצאת ה AsyncQuery.Result,
    אבל כשזה מוגדר כך, אז פונקציית ה Async נתקעת ולא ממשיכה - בשלב שהתהליך שהיא מריצה מסיים את פעולתו.

    תודה רבה!!!

    פורסם במקור בפורום CODE613 ב05/12/2017 22:42 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    בס"ד

    הפעם זה כבר נשמע מעניין ממש,
    רק שהעיניים שלי נעצמות מאליהן... :roll:

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

    תודה רבה!!!

    פורסם במקור בפורום CODE613 ב05/12/2017 03:54 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    אכן צדקת - ישנן מתודות שונות שקוראות למתודות הגנריות "beforeQuery" ו- "query", וממשיכות כל אחת בצורה אחרת,
    אם כי ספציפית ה-DataSet מתמלא כבר בתוך מתודת השאילתא "query" הגנרית, מכיון שהוא באמת נדרש בכל המתודות.
    אבל עדיין יתכן טיפול שונה בין המתודות גם לא לאחר DataSet - במידה והשאילתא נתקעה.
    שאז לדוגמא, מתודה אחת תצעק אין מסדי נתונים, בעוד שהשניה תצעק שאין נתונים בטבלה.

    לגבי הדרך הב',
    אם מתודת ה Async רק מפעילה עם Await את מתודת השאילתא ובזה היא סיימה את עבודתה,
    והמתודות שקוראות למתודת ה-Async הן אלו שממשיכות את הטיפול - חזרנו לאותה בעייה, שהן ממשיכות מיד ולא מחכות (בדקתי את זה).
    ואם אני כותב את משפטי הטיפול שלאחר השאילתא בתוך מתודת ה Async (איפה שסימנת את 3 הנקודות בתור המיקום להמשך הטיפול),
    שוב חזרנו לבעייה שהמשך הטיפול אמור להיות שונה בין המקרים.

    **תודה רבה!**אני מקווה שאני לא גורם לך נדודי שינה עם ה"קלוץ קאשעס" שלי 😉

    פורסם במקור בפורום CODE613 ב05/12/2017 03:30 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    ראשית כל, תודה על התשובה והדוגמאות!

    @דוד ל.ט.

    דרך א'

    Private Sub AfterQuery()
        pbarLoad.Visible = False
        ...
    End Sub
    

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

    זה בדיוק העניין,

    היות ולאחר השאילתא כל פעם הטיפול אחר לגמרי, פעם זה לאכלס דטא גריד X ופעם ליסטבוקס Y, פעם לצעוק על מסד ריק ופעם על טבלה ריקה,
    אז זה יהיה טיפשי להכניס הכל לשגרה אחת של "אחרי התהליך", ולהתחיל לעבור עם if-else או case על כל האפשרויות השייכות -
    כאשר למעשה בכל שגרה שמזמינה ביצוע שאילתא מסוימת (לחצן טען מסדים, לחצן טען טבלאות, לחצן הצג טבלה) אפשר בקלות להגדיר את טיפול ההמשך הרלוונטי לשגרה זו בלבד.
    ולכן חשבתי לשאול, האם יש דרך לקרוא לתהליך מתוך שגרה, לחכות עם החזרת השליטה עד לאחר גמר ביצוע התהליך, ולהמשיך את אותה השגרה.

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

    תודה רבה!

    פורסם במקור בפורום CODE613 ב05/12/2017 03:00 (+02:00)

    ארכיון code613m

  • עבודה בתהליך משני (Thread / Task) ובכל זאת ה-UI תקוע
    איש אחדא איש אחד

    @דוד ל.ט.

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

    אני מבין שכנראה הדרך שמצאתי בגוגל היא לא הדרך הנכונה, ולכן אני מתקן את שאלתי מ"למה לא עובד לי" ל"איך אני עושה את זה".

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

    *מקומם הראוי: תלוי בשגרה שהריצה את השאילתא, ותפקידה. לחצן "קבל רשימת מסדים" מריץ שאילתא SHOW DATABASES וממקם את התוצאות בליסט של מסדים. לחצן "קבל טבלאות" > SHOW TABLES > ליסט טבלאות. ולחצן "קרא טבלה" > SELECT * > דטא גריד.

    כרגע יש לי שגרה גנרית שמקבלת טקסט של שאילתא, מבצעת אותו, ובזה היא גומרת.
    השגרות השונות בתוכנה, כל אחת לגופה מכינה נוסח של שאילתא, מריצה את שגרת השאילתא, ולאחר שהתקבלו התוצאות, ממשיכה טיפול בהתאם.
    העניין הוא שבמהלך ביצוע השאילתא, המחשב עובד על משהו אחד, ולכן לא יכול להציג במקביל מחוון עם תזוזה, וכמו ש@דוד ל.ט. היטיב לבאר.
    אני מבין שהפתרון טמון בשני תהליכים / משימות / BGWorker's, אבל @דוד ל.ט. הסביר שאין לי מושג איך עובדים איתם.

    ולזאת בקשתי שטוחה: אנא הדריכו אותי איך צולחים את המשימה.

    תודה רבה!

    פורסם במקור בפורום CODE613 ב05/12/2017 01:32 (+02:00)

    ארכיון code613m
  • 1
  • 2
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 23 / 27
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום