מדובר בפרוייקט ב-VS2010 שבמקור לא תמך MFC (אלא Standard Windows Libraries).אני בזמן ריצה מייבא דינמית מחלקה מ-DLL של CAxisMediaControl.
במחלקה CAxisMediaControl היורשת ממחלקת חלון (CWnd) הוספתי את השדה בהצהרה (DECLARE_DYNCREATE(CAxisMediaControl.
במחלקה המשתמשת באינטפרייס של ה-DLL (מהצורה
;(InvokeHelper(0x65, DISPATCH_METHOD, VT_EMPTY, NULL, NULL).
הוספתי את השדה ;CAxisMediaControl m_AMC בקובץ ההאדר
וב-CPP את (IMPLEMENT_DYNCREATE(CAxisMediaControl (המחלקה יורשת מ-CWnd).
הכל מתקמפל טוב ויפה, אבל בזמן ריצה קופץ assertion:
winocc.cpp שורה 381
(ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least))
מישהו מכיר את התופעה ויוכל לתת לי כיוון?
שוב, לא התחלתי עם פרוייקט MFC מ-0, אלא שיניתי ההגדרות באחד קיים (למרות שלא חושב שזו הבעיה בהגדרות).
בסה"כ אין לי חלון ראשי או משהו בסגנון (ואולי זו הבעיה, רק שאני לא בטוח איך אני אמור לפתור אותה).
תודה!
נ.ב., המימוש המקביל ב-#C עובד אחלה.
בברכה,
עידן