הגדר את ה המופע ב app של ה פרויקט ( נגיד progName) בכל מקום בפרויקט תוכל ליכתוב : ;()progName *pApp = (progName *)AfxGetApp ואז תוכל להישתמש ב פוינטר ל app <-pApp כדי להגיע למופע
למשהו יותר פשוט: שימוש במחלקה מתוך קבצים אחרים. אם כך הדבר אז כל מה שצריך לעשות זה בקובץ שבו רוצים ליצור אובייקט של המחלקה לעשות INCLUDE לקובץ H שבו מוגדרת המחלקה. אם המחלקה טמפלייטית תצטרך לעשות גם FORWARD DECLARATION אבל אני בספק שזה המקרה... אולי אני לא במקום אבל השאלה לא הייתה בדיוק מוגדרת. ואני מאוד בספק שהבן אדם רצה לקבל פויינטר לאפליקציה עצמה...
כדי להבטיח שיהיה רק מופע אחד ל מחלקה יש להישתמש ב Singleton חפש את זה ברשת השיטה הראשונה היא רק ל mfc ולא לא צריך להוסיף כלום אבל Singleton זו הדרך האמיתית וממש כדי ללמוד
מתכוון למשהו כמו extern. אני לא זוכרת בדיוק איך זה הולך, אבל נדמה לי שאתה צריך בקובץ השני להגדיר שוב את המופע, אבל עם המילה extern לפני. וזה אומר לקומפיילר שזה משתנה שהוגדר בקובץ אחר בשם זה. נגיד בקובץ המקורי יש לך הצהרה (כמובן גלובלית):
myClass obj;
ובקובץ השני אתה עושה:
extern myClass obj;
אבל אני לא בדיוק סגורה על זה שזה ככה. בכל אופן יש משהו כזה.
נכון, לזה התכוונתי. אבל כשאני משתמש ב EXTERN ומנסה לעשות DELETE למופע ממקום אחר, קובץ שונה מזה ששם הוא הוצהר, אז למרות כל הצהרות ה EXTERN הקומפילר לא מוכן לקבל זאת