לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #4  
ישן 16-03-2011, 01:43
  משתמש זכר kanabis kanabis אינו מחובר  
 
חבר מתאריך: 11.08.05
הודעות: 230
בתגובה להודעה מספר 3 שנכתבה על ידי Dorown שמתחילה ב "אני חפרתי קצת באינטרנט ובאמת..."

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

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

*ואתה לא צריך לתת הרשאות של public לאובייקטים שאתה יוצר, אם אתה יוצר אובייקט ואתה יודע שצריכים לאתחל אותו ואתה לא חייב לתת אליו גישה מלאה תשתמש ב properties. כלומר Get & Set. אם אתה לא יודע למה אני מתכוון תשאל.

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

סתם הערה רוב הפעמים שעושים dalagate ומנסים להשתמש בו, ז בגלל שלא יוצרים event. שדרכו מפעילים את הdalagate.

בקיצור תעלה קוד : )
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 16-03-2011, 14:34
  Dorown Dorown אינו מחובר  
 
חבר מתאריך: 22.03.04
הודעות: 175
בתגובה להודעה מספר 4 שנכתבה על ידי kanabis שמתחילה ב "אם תוכל להביא את הקוד שלך זה..."

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

הנה דוגמה של הקוד:
FORM1

private void button2_Click(object sender, EventArgs e)

{

if (tabControl2.SelectedIndex == 0)

{

if ((string)listBox2.SelectedItem == null)

{

MessageBox.Show("You must chose at lest one object");

}

else

{

for (int i = 0; i < listBox2.SelectedItems.Count; i++)

{

listBox6.Items.Add(listBox2.SelectedItems[i].ToString());

}

WatchDog start = new WatchDog();

}}}



class WatchDog

{

public delegate int count();

public Thread thrd;

public WatchDog()

{

thrd = new Thread(new ThreadStart(this.working));

thrd.Start();

}

public void working()

{

Form1 fm = new Form1();

MessageBox.Show(fm.listBox6.Items.Count);

}}


עשיתי DEBUG ואין בעיה ואין שום ERROR.
הבעיה היא שהנתונים לא עוברים דרך הCLASSים זאת אומרת אם לפני ההרצה הוספתי ידנית פריטים לLISTBOX לדוגמה 3 כאשר אני יריץ את תוכנה אני באמת יקבל 3. אבל לדוגמה אני יוסיף או יוריד פריטים אני עדיין יקבל 3. זה לא מתעדכן.
אני גם צריך לעשות שיטה מתוך הCLASS watchdog שתמחק ותוסיף פריטים וגם את זה לא הצלחתי.
שוב אין שגיאה אבל זה פשוט לא מוסיף...

אני פשוט לא מצליח להבין את הקטע של הdalagate.

תודה מראש,
דורון
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 16-03-2011, 23:47
  משתמש זכר kanabis kanabis אינו מחובר  
 
חבר מתאריך: 11.08.05
הודעות: 230
בתגובה להודעה מספר 5 שנכתבה על ידי Dorown שמתחילה ב "תודה על התגובה, הנה דוגמה של..."

הdalagate היא דרך "לעטוף" פונקציות בתוך אובייקט, ולהביא לעצמך את היכולת להשתמש בפונקציות מקלאס אחד, בקלאסים אחרים, ללא צורך בהורשה.לדוגמא שאתה בונה תוכנה, אתה יכול ליצור ספריית קלאסים, וליצור כמה קלאסים שמאחסנים לך את הפונקציות של כל התוכנה\אתר. ופשוט להשתמש בהם על אובייקטים בדפים\קלאסים אחרים.
אתה צריך ליצור את הdalagate וגם ליצור בשבילו event. שהייעוד שלו הוא להפעיל את הפונקציה שמשהו קורה. לדוגמא אם אתה לוחץ על מתג של אור, והאור נדלק. אז פשוט ליצור "מקרה של אירוע" שמתי שהוא קורה, הפונקציה נכנסת לפעולה, היא יכולה להיות void או שהיא יכולה להחזיר ערכים, ולקבל אותם דרך ה Ctor.

אז אתה חייב ליצור event.

לגבי הדוגמא שלך, הגדרת הdalagate שגויה ולא נכונה. אני חושב שהבעיה שלך היא שאתה לא חושף את המשתנים שלך. Get & Set. אתה צריך לחשוף אותם ולא לתת להם גישה של Public. עצם העובדה שאתה נותן לו את הערכים בצורת HardCoded והוא מקבל אותם, אומר שמשהו באתחול שלהם לא בסדר, תנסה לעשות דיבאג לכל התוכנית, תראה אם הערכים מתקבלים, איפה הם נעלמים, זה כלי חזק תשתמש בו. מה הלוגיקה של התוכנית שלך קראתי אותה ולא ממש הבנתי מה הולך שם, והאם listBox6 אמור לקבל את הערכים שאתה מדבר עלייהם?

הסבר קצר, מדוייק וקולע לגבי הdalagate

http://www.akadia.com/services/dotn...and_events.html
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 10:05

הדף נוצר ב 0.04 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר