בעיה ב UPGRADE מ6 ל NET

FireBird

New member
בעיה ב UPGRADE מ6 ל NET

שלום לכולם, בעיה שכזאת: אני יוצר פרויקט חדש בVB6, שם כפתור וTEXTBOX ושומר. פותח אותו ב NET ומריץ את ה WIZARD של ה CONVERT.. הוא עובד, הכל טוב ויפה ואחרי העבודה, אני מנסה להכנס לפורומים וכל ה CONTROLS נמצאים בצד שמאל למעלה.. אפילו הורדתי פרויקט הדגמה של MICROSOFT של CONVERT לNET ואותו הדבר.. (אני אפילו לא מדבר על המון שגיאות תיכנות בקוד.. אבל זה כבר השלב הבא..) פשוט יש הרגשה שמשהו "דפוק" בWIZARD של הNET.. מישהו מכיר? עבר? פגש? ראה? תודה רבה !
 

yuval k

New member
הייתי מעיז ואומר שזה טבעם של wizard

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

pagis

New member
יובל, ממך ציפיתי ליותר

הרי חוק ראשון בפיתוח (ובטח בתחזוקת) קוד: "אם זה עובד אל תיגע בזה"
 

VoodooKid

New member
לא רציתי להיות הראשון שאומר את זה

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

FireBird

New member
אתם מדברים נחמד

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

yuval k

New member
אם כך, הייתי חושב שכדאי לנסות להריץ

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

yuval k

New member
(ואגב, לא התכוונתי לכתיבת הקוד עצמו

מחדש, אלא רק תכנון המבנה מההתחלה, בצורה OOP-ית.)
 
צר לי לומר לך

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

Admini

New member
מה ההבדל ?

טוב להם עם VB, למה לעבור ? מה יש ל-#C שאין ל-VB.NET ?
 

Admini

New member
אני דווקא אוהב את VB.

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

אמרתי שהסינטקס יותר יעיל. לדוגמה: נראה אותך עושה דבר כזה ב - VB:
<%# DataBinder.Eval(Container.DataItem, "BodyText")=="" ? "(ל''ת)" : "" %>​
מבחינת זמן ריצה אין הבדל ביעילות כי הכל מתקמפל לאותה MSIL.
 

yuval k

New member
וגם זה לא נכון ב-100%... יש הבדלים

קטנים בין הקומפיילרים של השפות השונות.
 

michallev

New member
ל #C יש כמה דברים להציע...

שאין לVB. נשמע מפתיע? אבל זה ככה. גם כשמסתכלים קדימה עם מה שצפוי לנו בגירסה הבאה - ההבדלים הולכים ומתחדדים. דוגמה? בבקשה. היכולת להתלבש על ארוע הרישום והסרת הרישום על event. ה dynamic binding של VB שמעלה שגיאות בזמן ריצה ולא בזמן קומפילציה (חשוב מאד לדעתי!) ועוד... עדיין לא הייתי ממהרת להמיר קוד מ vb.net ל #C רק בשביל זה....
 
כל מיני דברים שוליים כמו

Operator Overloading volatile האפשרות להוריד Handler מארוע. וגם כמו שציינו, הסינטאקס יותר נקי ומחייב כתיבת קוד "נכון". המעבר לדוט נט הוא הזמנות מצויינת להעביר את כל המתכנתים ל-c#. לכל מתכנת VB6 ברמה ממוצעת פלוס, המעבר ל-c# לעומת המעבר ל-vb.net, אמור לקחת גג שבוע שבועיים נוספים. בתמורה תקבל קוד שבעתיד יהיה יותר קל לתחזק.
 

pagis

New member
אני נוטה להבכים עם הרתיעה ב WIZ

תשמע, עשיתי כבר הסבות מסביבה אחת לאחרת (בינהן מעבר ממערכת שרצה על OPEN VMS 5 ל דוט נט ול DB טבלאי) ומנסיוני, ככל שהמעבר יותר מורכב, ככל שהמערכת יותר כבדה, ככל שיהיה קשה יותר ויקר יותר לכתוב את כל הקוד מחדש, כך יהיה זול יותר לכתוב את כל הקוד מחדש. אומנם לא עשיתי עוד מעבר של מערכת מסביבה מתקדמת יחסית כמו VB6 לדוט נט (ומכיוון שזו סביבה מתקדמת הצעתי לך לא לגעת בזה, כלומר לשקול מחדש את הצורך במעבר לדוט נט, כי כמו שאתה מבין הוא יקר הרבה יותר מהרצת כמה אוטומטים), אבל באופן עקרוני והגיוני, ככל שהמערכת מורכבת יותר חוסר היעילות יעלה, ולא ביחס ישר לסיבוכיות המערכת, הרבה יותר גרוע. זו כמובן לא עובדה, רק ניסיון. חוסר יעילות יעלה לך בתחזוקת המערכת, בחומרה, בזמן גישה וכו' אני מציע לעבור לדוט נט בשלבים. תעביר שרתים מסויימים לדוט נט ותבנה שרת שיממשק אותם עם האחרים, תבנה גרסת דוט נט שמתבססת על קומפוננטות שכתבת ב VB6, בקיצור הבנת את הרעיון. זה יאפשר לך לפרוס את ההשקעה על פני זמן ארוך יחסית
 

VoodooKid

New member
חובבן לא, ילד גם לא.

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