نمایش نتایج 1 تا 3 از 3

نام تاپیک: دسترسی به متغیرهای static عضو یک کلاس از داخل DLL

  1. #1

    دسترسی به متغیرهای static عضو یک کلاس از داخل DLL

    سلام،
    من یه کلاس تعریف کردم و یه عضو 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 های مناسب رو هم به کار بردم. ولی نمی دونم باز چرا این مشکل پیش میاد.
    در ضمن یه نکته حائز اهمیت اینه که این مشکل به هیچ وجه در دسترسی به توابع استاتیک پیش نمیاد و فقط در دسترسی به متغیرهای استاتیک پیش میاد.
    کسی در این مورد چیزی می دونه؟ آیا این طور دسترسی به متغیرهای استاتیک عضو یه کلاس ترفند خاصی داره؟

  2. #2
    کاربر تازه وارد آواتار Blaster
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    Subway
    پست
    82
    احتمالات زیادی وجود داره ! نمیشه گفت اشکال کجاست .
    تابع static با تابع غیر static هیچ فرقی نداره جز دراینکه تابع static اشاره گر this رو دریافت نمی کنه برای همین هم فراخوانی تابع static هیچ مشکلی نداره .
    بهتره در DLL از متغیر های Global یا Shared Memory استفاده کنید. اما اینها ممکنه که باز هم مشکل ساز بشن . برای همین باید یک سری توابع برای دسترسی به اون عضو رو هم بنویسید که دیگه نیازی به فراخوانی عضو مورد نظر نباشه!
    البته حتما یادتون هست که کلاس مورد نظر رو درون DLL دوم Import کنید!

  3. #3
    بله Blaster جان، عرض کردم که از Import Library استفاده کردم. اما بالاخره دیروز این مشکل رو به طور موقت با برگردوندن یه اشاره گر به CArray از طریق یه تابع static دور زدم. یعنی همون کاری که شما هم بهش اشاره کردین. اما نمی دونم که آیا این راه حل قطعی مسئله س. یعنی اون نوع دسترسی که در پست قبلی گفتم امکان پذیر نیست؟

تاپیک های مشابه

  1. مقاله: Static در C#‎
    نوشته شده توسط Keramatifar در بخش C#‎‎
    پاسخ: 16
    آخرین پست: پنج شنبه 14 شهریور 1392, 11:35 صبح
  2. static در زبان C
    نوشته شده توسط alireza_tavakol در بخش C#‎‎
    پاسخ: 13
    آخرین پست: پنج شنبه 26 مهر 1386, 00:27 صبح
  3. static دردلفی
    نوشته شده توسط masood2004 در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: پنج شنبه 30 شهریور 1385, 18:11 عصر
  4. Static
    نوشته شده توسط benyamin_pc در بخش C#‎‎
    پاسخ: 10
    آخرین پست: سه شنبه 17 مرداد 1385, 19:14 عصر
  5. بدست آوردن اطلاعات دقیق درباره یک static ip
    نوشته شده توسط RezaJP در بخش امنیت در شبکه
    پاسخ: 6
    آخرین پست: جمعه 26 فروردین 1384, 01:56 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •