آموزش دلفی

نحوه معرفی Namespace ها دلفی

نحوه معرفی Namespace ها

در دلفی 2005 هر پروژ دارای یک Namespace  خواهد بود که به آن Project default Namespace اطلاق میشود
یک یونیت میتوند عضوی از Project default Namespace بود یا این که به طور صریح خود را به عنوان عضوی از یک Namespace متفاوت معرفی کند در هر حالت یک یونیت باید عضویت خود را در یک Namespace مشخص کند

برای مثال به معرفی صریح زیر توجه کنید

unit MyCompany.MyWidgets.MyUnit;

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

MyCompany.MyWidgets.MyUnit.pas

اگر این یونیت را ترجمه کنید فایلی با نام زیر به وجود خواهد امد

MyCompany.MyWidgets.MyUnit.dcuil

هم چنین توجه داشته باشید که نقطه ها دلالت بر مفهوم تودرتو بودن دارند
درمثال قبلی یونیت MyUnit عضوی از MyWidgets است و MyWidgets یک Namespace است که خود عضوی از یک Namespace دیگر با عنوان MyCompany است
مجددا تاکید میکنم که این تو در تویی فقط یک مفهوم برای درک بهتر شماست و نباید شما را گیج کند

در حقیقت Project default Namespace یک Namespace برای تمامی یونیت های درون پروژه است
برای مثال به تعاریف زیر توجه کنید

Program MyCompane.Programs.MyPrograms;
library MyCompany.Libs.MyLibrary;
Package MyCompany.Packages,MyPacage;

عبارات فوق به ترتیب برای معرفی Project default Namespace مربوط به یک  Program  و Libary و Package مورد استفاده قرار گرفته اند

نکتــــــــــــه
برای تعیین یک NameSpace باید اخرین شناسه رسمت راست یک عبارت را به عمراه نقطه مربوطه حذف کنید
برای مثال در مورد عبارت زیر :
MyCompany.Programs.MyProgram
MyProgram عضوی از یک NmaeSpace با نام MyCompany.Programs است

در صورتی که یک یونیت Namespace صریح خود را حذف کنید به آن generic unit گفته میشود
یک generic unit به صورت خودکار عضوی از  project default namespace خواهد بود در حقیقت عبارت زیر :

Unit MyUnit;

باعث خواهد شد که کامپایلر دلفی با MyUnit به عنوان عضوی از MyCompany.Programs بر خورد کند
توجه داشته باشید که project default namespace تاثیری در نام فایل مربوط به generic unit نخواهد داشت
در مورد مثال قبلی دلفی با نام   MyUnit.pas را به وجود خواهد اورد

قابل ذکر است که رشته های مروبط به Namespase ها به حروف بزرگ و کوچک حساس نیستند
اما دلفی درمورد نام فایل ها پیغام ها و خطا … و رشته مورد نظر با توجه به حروف بزرگ و کوچک مورد استفاده قرار خواهد داد

 

[adinserter block="1"]
5/5 - (2 امتیاز)

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا