در مورد آدرس دهی:
فرض کنید شما یه فایل دارید تو سیستمتون که مسیرش اینه:
به این مسیر میگن مسیر مطلق، خب اشکالش اینه که اگه از این مسیر تو برنامه استفاده کنید به احتما 99 درصد تو سیستم کاربری که از برنامه تون استفاده میکنه اون فایل وجود نداره (یعنی تو اون مسیر وجود نداره)
حالا برای رفع مشکل ما از آدرس دهی نسبی استفاده میکنیم، آدرس دهی نسبی همونطور که از اسمش پیداست نسبت به یه مسیر دیگه تعیین میشه، اما نسبت به چی ؟
نسبت به فایل اجرایی یا همون اتوران تون
به این آدرس توجه کنید:
کد:
<SrcDir>\Music\MyMusic.mp3
همونطور که می بینید ما نام درایو رو مشخص نکردیم، در واقع <SrcDir> اینجا نشون دهنده ی آدرس فایل اجراییمون هست. یعنی آدرس فایل اجرایی رو مبنا قرار دادیم و بقیه ی مسیر رو نسبت به اون تعیین میکنیم.
فرض کنید ما از این آدرس در برنامه استفاده کردیم و اتوران رو روی یک سی دی رایت کردیم. همونطور که می دونید آدرس درایو سی دی در هر سیستمی میتونه متفاوت باشه، فرض میکنیم درایو سیدی در سیستم مقصد، درایو G هست، پس مسیر بالا در اون سیستم به این شکل ترجمه میشه (فرض میکنیم اتوران در ریشه ی سی دی قرار داره)
خب شما در برنامه نباید از آدرس مطلق استفاده کنید و همیشه از آدرس دهی نسبی استفاده کنید.
در مثال بالا برای اینکه فایل آهنگ پخش بشه باید کنار فایل اتوران یه پوشه بنام music موجود باشه و در اون پوشه فایلی بنام MyMusic.mp3.