sh_roohani
یک شنبه 02 مرداد 1384, 21:17 عصر
سلام،
من یه کلاس تعریف کردم و یه عضو static به شکل زیر هم براش تعریف کردم:
static CArray<CString, CString> m_astrSerialPorts;
حالا این کلاس رو بردم توی یه MFC Extension DLL و توی اعلانش هم از AFX_EXT_CLASS استفاده کردم. الان هم همه چی خوبه جز اینکه (فقط و فقط) دسترسی به اعضای استاتیک اون کلاس داخل DLL، از داخل یه DLL دیگه، منجر به تولید خطای لینک unresolved external می شه! در حالیکه دسترسی از داخل یه پروژه SDI مشکلی نداره. در واقع پروژه های هردوتای این DLLها، dependency یه پروژه SDI هستن. در ضمن از روش Import Library استفاده کردم، نه از تابع LoadLibrary. همه lib ها و header های مناسب رو هم به کار بردم. ولی نمی دونم باز چرا این مشکل پیش میاد.
در ضمن یه نکته حائز اهمیت اینه که این مشکل به هیچ وجه در دسترسی به توابع استاتیک پیش نمیاد و فقط در دسترسی به متغیرهای استاتیک پیش میاد.
کسی در این مورد چیزی می دونه؟ آیا این طور دسترسی به متغیرهای استاتیک عضو یه کلاس ترفند خاصی داره؟
من یه کلاس تعریف کردم و یه عضو static به شکل زیر هم براش تعریف کردم:
static CArray<CString, CString> m_astrSerialPorts;
حالا این کلاس رو بردم توی یه MFC Extension DLL و توی اعلانش هم از AFX_EXT_CLASS استفاده کردم. الان هم همه چی خوبه جز اینکه (فقط و فقط) دسترسی به اعضای استاتیک اون کلاس داخل DLL، از داخل یه DLL دیگه، منجر به تولید خطای لینک unresolved external می شه! در حالیکه دسترسی از داخل یه پروژه SDI مشکلی نداره. در واقع پروژه های هردوتای این DLLها، dependency یه پروژه SDI هستن. در ضمن از روش Import Library استفاده کردم، نه از تابع LoadLibrary. همه lib ها و header های مناسب رو هم به کار بردم. ولی نمی دونم باز چرا این مشکل پیش میاد.
در ضمن یه نکته حائز اهمیت اینه که این مشکل به هیچ وجه در دسترسی به توابع استاتیک پیش نمیاد و فقط در دسترسی به متغیرهای استاتیک پیش میاد.
کسی در این مورد چیزی می دونه؟ آیا این طور دسترسی به متغیرهای استاتیک عضو یه کلاس ترفند خاصی داره؟