locked
Object serialization - C++ Win8 RRS feed

  • שאלה

  • שלום,

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

    ב- C# תחת Win8 הצלחתי לבצע זאת בקלות אך לא בC++.

    בנוסף, לא הצלחתי לקחת את הממשק שממשתי ב C#, ליצור ממנו DLL ולקרוא בקוד ה C++ שכתבתי.

    כמובן שאיני יכול להעביר את כל הקוד שלי לC# בשלב זה.

    אשמח לשמוע רעיונות והצעות (וכן לינקים הסברים וכדו').


    יום שני 10 ספטמבר 2012 05:10

תשובות

כל התגובות

  • הי,

    בגדול אין דרך פשוטה לבצע serialization גנרי ב- ++C, מאחר שזו שפה native שלא תומכת ב- reflection כמו #C, אבל ישנן שיטות שונות כמו שמבצעים ב- MFC. אולי שווה לך להשתמש ב- Boost במקרה כזה. זאת אגב גם הסיבה שאין משהו גנרי כזה ב- WinRT. אתה יכול להעזר במחלקות WinRT שמבצעות קריאה/כתיבה בפורמט Json או Xml.

    לגבי שאלתך השניה, כדי שקוד ++C יוכל לדבר עם קוד #C בסביבת WinRT, אתה צריך ליצור WinRT DLL, ולא Managed DLL. בתוך DLL זה את יוצר WinRT Types ואז ניתן יהיה לצרוך אותם מתוך C++/CX ואף מתוך JS.


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    יום שלישי 11 ספטמבר 2012 21:29
    מנחה דיון
  • כתבתי פוסט במיוחד בשבילך. מקווה שיעזור.

    http://blogs.microsoft.co.il/blogs/tomershamam/archive/2012/09/12/using-c-types-from-c-cx-in-windows-8-store-apps.aspx

    תומר


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    יום רביעי 12 ספטמבר 2012 18:24
    מנחה דיון
  • המון תודה.
    אני צריך לעשות כמה התאמות ואז אוכל לנסות להשתמש במה שכתבת.

    אשתדל לעדכן.

    שנה טובה

    יום חמישי 13 ספטמבר 2012 12:54