17-06-2007, 17:44
|
|
|
|
חבר מתאריך: 22.09.06
הודעות: 83
|
|
את יוצרת פרויקט managed cpp, שיש לו רפרנס לפרויקט ב #C
בתוך הפרויקט שלך את יוצרת מחלקה native, ע"י שימוש באופרטור nogoc__
בתוך המחלקה הזאת את צריכה להוסיף מצביע למחלקה ה managed. ניתן לעשות את זה ע"י שימוש ב gcroot.
שזה משהו כמו:
gcroot<MyManagedClass^> m_managedPointer
עכשיו את "עוטפת" אותו. נגיד יש למחלקת ה managed יש מטודה בשם Print, אז את מוסיפה למחלקת ה native שלך מטודה print, שבתוכה את למעשה קוראת למימוש של המטודה הזאת באובייקט ה managed
משהו כמו:
קוד:
__nogoc class MyNativeClass
{
public:
void print()
{
m_managedPointer->Print();
}
private:
gcroot<MyManagedClass*> m_managedPointer;
};
ככה זה עובד נורא בגדול, הייתי ממליץ לך לקרוא על c++/cli, ועל ערבוב של native ו manged
הדוגמה הקצרצרה שנתנתי כאן כתובה ב managed extensions for cpp ... שזו היתה הגרסה של השפה בויזואל סטודיו 2003.
אם את משתמשת בגרסאת 2005, אז כבר הספיקו לשנות קצת את הסינטקס שלה. עכשיו כבר קוראים לה c++/cli
מהניסיון שלי, הנושא הזה מצריך קריאה לא מעטה, ויהיה קשה לצלול אל תוך הקוד אחרי הסברים קצרצרים שכאלה
בהצלחה
_____________________________________
|