PDA

View Full Version : حرفه ای: لود کردن یک Dll در زمان مورد نیاز



M * M * A
چهارشنبه 16 اردیبهشت 1394, 23:25 عصر
باسلام خدمت دوستان عزیز

من چند تا dll دارم که حجم هر کدوم 70Mهست .
بعضی از مواقع برنامه دچار کمبود مموری میشه و خطا میخوره.
حالا من چطور میتونم کاری کنم که هر وقت این Dll ها رو نیاز دارم صدا بزنم و بعدش از حافظه خارج کنم. که فضای اشغال شده رم خارج بشه.

SabaSabouhi
پنج شنبه 17 اردیبهشت 1394, 07:24 صبح
باسلام خدمت دوستان عزیز

من چند تا dll دارم که حجم هر کدوم 70Mهست .
بعضی از مواقع برنامه دچار کمبود مموری میشه و خطا میخوره.
حالا من چطور میتونم کاری کنم که هر وقت این Dll ها رو نیاز دارم صدا بزنم و بعدش از حافظه خارج کنم. که فضای اشغال شده رم خارج بشه.

سلام
بله امکانش هست، مثل نوشتن پلاگین می‌مونه. وقتی به یه بخش از نرم‌افزار نیاز داری Dll اون رو بارگزاری می‌کنی.
اما یه کم کارش بیشتر هست. باید برای کار کردن با این Dll یه Interface درست کنی و بجای new کردن اشیاء باید از CreateInstance و cast کردن
به اون Interface استفاده کنی.
برای خارج کردن از حافظه هم روش وجود داره. اما اول این رو انجام بده، با یه Dll آزمایشی کوچیک اول انجام بده و وقتی موفق بودی برو سراغ
Dllهای اصلی برنامه.

صبا صبوحی

M * M * A
پنج شنبه 17 اردیبهشت 1394, 08:26 صبح
امکانش هست یک نمونه کد بزارین؟
با سپاس

مهرداد صفا
پنج شنبه 17 اردیبهشت 1394, 15:29 عصر
سلام.
باید از Reflection استفاده کنید.
این تاپیک (barnamenevis.org/showthread.php?385311-استفاده-از-فایل-resource-به-عنوان-reference) رو مشاهده کنید.