نحوه معرفی 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 ها به حروف بزرگ و کوچک حساس نیستند
اما دلفی درمورد نام فایل ها پیغام ها و خطا … و رشته مورد نظر با توجه به حروف بزرگ و کوچک مورد استفاده قرار خواهد داد