PDA

View Full Version : آموزش: Dll چیست؟



raha1234567
جمعه 22 مرداد 1389, 01:06 صبح
سلام دوستان !!!!!!
دیم داخل سایت بحث dll بالا گرفته کنجکاو شدم بفهمم چیه پیدا کردم برا شما هم گذاشتم امیدوارم دوست داشته باشید. البته اعتراف می کنم که خودم زیاد در مورد برنامه نویسیش نفهمیدم ولی مفهومش را فهمیدم سعی می کنم در مورد برنامه نویسی و... هم اطلاعات بیارم
فعلا

---------------------------------------------------------------------------------------------------


فایل DLL چیست ؟
یه توضیح کوچیک در مورد Dll ها و بعدشم روش ساختن DLL با C#‎ .



فایل dll یک کتابخونه ازData و Code هست که می تونه در یک زمان توسط چندینApplication مورد استفاده قرار بگیره .
برای مثال در سیستم عامل Windows فایل Comdlg32.dll عملکرد های مربوط به Dialog Box ها رو انجام میده .
در نتیجه هر Application ی در ویندوز می تونه از توابعی که توی این dll هستند موقع باز کردن Dialog Box استفاده کنه .
مزیت اصلی فایل های dll در استفاده مجدد و همینطور استفاده بهتر از حافظه سیستم هست .



کاربرد dll در برنامه نویسی :
با استفاده از این فایل های dll میشه برنامه هارو به صورت کاملا Modular و با مولفه های قابل مدیریت نوشت .
برای مثال یه برنامه Accountig که به صورت Modular نوشته شده می تونه بسیار سریعتر از نمونه مشابه که Modular نوشته نشده اجرا بشه .


دلیلشم اینه که Module ها به صورت جدا از هم کار می کنند و هر Moduleی که نصب شده باشه در زمان اجرا توی حافظه Load میشه و از یه Module فقط زمانی استفاده میشه که به اون Module احتیاج باشه .



مزیت دیگه استفاده از Module اینه کهUpdate برنامه خیلی راحت تر انجام میشه و فقط Module مورد نظر Update میشه بدون اثر گذاشتن روی سایر Module ها .



فایل های زیر در سیستم عامل Windows به عنوان DLL مورد استفاده قرار می گیرند .



ActiveX Controls (.ocx) files
مثه کنترل Calendar در ویندوز .



Control Panel (.cpl) files
مثه همه Item های موجود در کنترل پنل Windows

Device Driver Controls (.drv) files
مثه یک فایل Driver برای یک Printer ...

برنامه نویسی DLL توی VStudio.Net خداییش کار خیلی سختیه ...

تازه اگه که Error های عجیب و غریب VStudio توی پروژه های DLL نخوان گیر بدن ...

خوشبختانه خودWindows مجموعه کاملی از DLL ها رو در اختیار برنامه نویس قرار میده .

در نتیجه خیلی به ندرت پیش میاد که بخوایم DLL های مورد نیازمون رو خودمون بنویسیم ...

این کار بیشتر توی پروژه های Game Programing انجام میشه .
خود من یه بار این کارو امتحانش کردم , تازه فقط ساختنشو ... Debuging و Testing این حرفاش که دیگه بماند ...

واقعا کار پیچیده ایه ...
ولی برای آشنایی هم که شده ساختن DLL با VStudio خیلی کوتاه مرور می کنیم .

به دو روش میشه یه پروژه DLL رو ایجاد کرد :

1- از طریق Class Library
2- از طریق Windows Forms Control Library

ما فقط روی روش اول تمرکز می کنیم .

در روش اول :

1- از منوی File گزینه New Project رو انتخاب کنید .

2- در کادر Project Type گزینه Visual C#‎.Net رو انتخاب کنید .

3- بعدش توی کادر Template گزینه Class Library رو انتخاب کنید .

4- برای پروژه یک اسم و آدرس مشخص کنید .پنجره کد شامل Class1 باز میشود ...در این پنجره میشه کد DLL رو برنامه نویسی کرد .
1- توی پنجره Class1.cs این قطعه کد رو بنویسید .






// Interface declaration



public interface ICalculator

}


;( int Add (int Number1 , int Number2
{







2- این قطعه رو هم اضافه کنید :






public class ManagedClass:ICalculator
{
public int Add(int Number1,int Number2)
{
return Number1+Number2;
{

{


این قطعه برنامه خیلی ساده دو عدد رو با هم جمع می کنه . http://www.pcnetwork.ir/images/smile/pcnet/whistle.gif

3- Vstudio Command Promt رو اجرا کنید .

حالا باید برای Class Library که در مرحله قبل طراحی شد یه اسم تعیین کنید .

4- این دستور رو در Command Promt تایپ کنید :

sn.exe -k MyKeyFile.SNK

بعدش فایل MyKeyFile.SNK رو در فولدر پروژه کپی کنید .

5- روی فایلAssemblyInfo.cs دابل کلیک کنید تا در پنجره Solution Explorer باز بشه .
کد های زیر رو :






[assembly: ComVisible(false)]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]





با این کدها جایگزین کنید :









[assembly: ComVisible(true)]




[assembly: AssemblyDelaySign(false)]


[assembly: AssemblyKeyFile("..\\..\\MyKeyFile.SNK")]









در آخر کلید هایCtrl + Shift + B رو بزنید تا فایل DLL تولید شود .http://www.pcnetwork.ir/images/smile/pcnet/wink.gif




تمام ...