PDA

View Full Version : سوال: استفده از DLL



moonDark
پنج شنبه 11 خرداد 1391, 10:20 صبح
سلام من چه طوری میتونم از فایل DLL توی برنامه ام استفاده کنم؟
مثلا میخام یه سری از کد های برنامه تو یه فایل DLL باشه و توسط برنامه موقع کامپایل خونده بشه که هر وقت خاستم برنامه رو آپدیت کنم فقط اون فایل dll رو تغییر بدم:متفکر:

ROSTAM2
پنج شنبه 11 خرداد 1391, 18:35 عصر
فكر كنم بهمراه تغيير ساختار فايل dll كه مد نظر شماست بايد پروژه هم دوباره سازي (Build/ReBuild/Compile) بشه اگه بخوايد فايل رو بصورت namespace به برنامه import كنيد (ممكنه اگه نسخه فايلي كه ميسازيد تغيير نكنه نياز نباشه پروژه رو هم دوباره Compile كنيد )

koorosh-soft
پنج شنبه 11 خرداد 1391, 22:23 عصر
باید کاملا با بحث های شی گرایی آشنا باشید

saeedx28
شنبه 13 خرداد 1391, 20:51 عصر
برای استفاده از فایل dll باید آن فایل را بوسیله Add Refrence به پروژه خود اضافه کنید و برای فراخوانی توابع مورد نظر از فرمول زیر استفاده کنید

نام تابع یا کلاس مورد نظر .نام فایل dll

vahid1
سه شنبه 16 خرداد 1391, 01:06 صبح
شما نوع dll را مشخص نكرده‌ايد. اگر dll شما يك اسمبلي .net است مي‌توانيد همانطور كه دوستان اشاره كرده‌اند در پروژه‌تان اضافه كنيد و از كلاس‌هاي آن استفاده كنيد. و البته مي‌توانيد در هنگام اجرا هم يك اسمبلي را با استفاده از امكانات reflection‌ بارگزاري كرده و مورد استفاده قرار دهيد. به اين منظور از كلاس‌ها و تابع‌هاي موجود در System.Reflection.Assembly استفاده كنيد. مانند:

System.Reflection.Assembly.LoadFile("%MyDLLPath%\\MyDLL.dll")

اما اگر فايل dll شما به زبان‌هاي غير .net تهيه شده است ، مانند C و... روش كار كمي متفاوت است. براي استفاده ابتدا تابع موجود در dll را تعريف مي‌كنيد.

Declare Sub getdiskinfo Lib "c:\somepath\diskinfo.dll" (ByVal mydrive As String, ByVal myvolume As String, free As Long)

سپس مي‌توانيد اين تابع را در كدهاي .Net فراخواني كنيد. در اين صورت بهتر است علاوه بر تعريف تابع‌هاي درون dll خودتان يك كلاس و تابع‌هاي لازم را براي فراخواني تابع‌هاي dll به VB.Net بنويسيد و در بخش‌هاي ديگر برنامه تابع‌هاي خودتان را استفاده كنيد. اين موضوع كمك مي‌كند تا اعمال تغييرات به راحتي انجام شود و همچنين قبل از فراخواني تابع‌هاي موجود در dll چنانچه لازم است اطلاعات ردوبدل شده را كنترل كنيد.

موفق باشيد.