View Full Version : حرفه ای: Build کردن پروژه ی DLL  از طریق Command Line
  
alidehban
یک شنبه 19 آذر 1391, 11:23 صبح
مشکل اصلی اینه که پروژه های عادی رو با DCC32  در شاخه ی  BIN   در مسیر نصب XE2   کامپایل میکنم و پروژه کامپایل میشه و فایل اجرایی در خروجی  ساخته میشه   اما به هیچ وجه نمیتونم پروژه ای که نوعش DLL هست رو با این روش BUILD کنم و DLL رو بسازم....
تمام اینترنت و قبلش تالار رو جستجو کردم  و   DCC32.EXE --HELP     هم  رو بررسی کردم  وقعا نتونستم بفهمم چرا هر پروژه ای کامپایل و بیلد میشه جز  DLL  که ساخته نمیشه هیچ  پیغام خطایی هم ندارم.
از دوستان حرفه ای خواهش میکنم نظری داشته یاشند.
پیشاپیش  تشکر فراوان از آقای کرامتی - آقای کشاورز - آقای  محمود-N   -  آقا ماهان  و آقای شاهین عشایری که پاسخ ما رو بارها دادند!
راستی DLL چیزی توش نیست فقط یک  فایل PAS  رو  در کنار خودش USE داره و از یک فانکشن داخلش استفاده کرده .
نمونه کدی که استفاده کردم....
DCC32.EXE -Q -B  C:\PFOLDER\project.dpr -B
BORHAN TEC
یک شنبه 19 آذر 1391, 11:45 صبح
سلام 
 هر پروژه ای کامپایل و بیلد میشه جز DLL که ساخته نمیشه هیچ پیغام خطایی هم ندارم.
پروژه ساخته میشه ولی در یک مسیر دیگه! مثلاً در سیستم من و در ویندوز XP به طور پیش فرض فایل در این مسیر قرار می گیره:
C:\Documents and Settings\Ashayeri
برای رفع این مشکل باید Output Directory رو ست کنید. انجام این کار با پارامتر E صورت می گیرد. برای مثال از دستوری مثل این استفاده کنید:
DCC32.EXE "c:\test\test263.dpr" /E"c:\test"
در ضمن در مورد نحوه بکارگیری پارامترها هم بیشتر دقت کنید! :چشمک:
برای یافتن سریع فایل ها هم حتماً از نرم افزار Everything استفاده کنید(استفاده از این ابزار برای هر برنامه نویسی واجب است):
http://www.voidtools.com/
موفق باشید...
alidehban
یک شنبه 19 آذر 1391, 12:27 عصر
از شما تشکر میکنم اما من OUTPUT DIRECTORY  ها رو قبلا در خود پروژه تنظیم کردم و مسیر ها هیچکدوم  پیش فرض نیست....
منظورتون رو متوجه شدم ولی گیر کارم این نیست.
BORHAN TEC
یک شنبه 19 آذر 1391, 13:13 عصر
با کمی بررسی می توان این موضوع را متوجه شد که IDE دلفی پارامتر ها را از فایل .dproj می خواند و آنها را به کامپایلر می فرستد(دقیقاً شبیه به مثالی که ذکر کردم).
alidehban
دوشنبه 20 آذر 1391, 08:54 صبح
با کمی بررسی می توان این موضوع را متوجه شد که IDE دلفی پارامتر ها را از فایل .dproj می خواند و آنها را به کامپایلر می فرستد(دقیقاً شبیه به مثالی که ذکر کردم).
 
خب در همون IDE دلفی هر تنظیماتی انجام بدی بنظرت کجا نوشته میشه دوست من؟ میدونم از 2005 به بالا این نوع فایل XML  مثل مایکروسافت به پروژه های دلفی هم اضافه شد و...و...و...
اما عرض کردم مشکل این نیست چون پروژه های دیگه رو دارم کامپایل میگیرم با تنظیمات دلخواه.
به هر صورت ممنون
Felony
دوشنبه 20 آذر 1391, 09:07 صبح
اون پروژه ای که مشکل داره رو ضمیمه کنید .
alidehban
دوشنبه 20 آذر 1391, 09:32 صبح
دوستان مشکلم حل شد و به شدت ساده بود و فراموشکاری خودم تا حدی باعثش بود.
مشکل در قسمت  USE  ها بود.  در دلفی 7  ما بطور مثال library ها رو به شکل MATH  و   SYSUTIL و ....    میاوردیم  ، البته الانم خود دلفی میفمه ولی من احتمالا برای اینکه در زمان  cammand line compiling  هم اینو به دلفی بفهمونم نیاز به پارامترهایی داشتم که نمیدونم چیست!    به هر حال فقط قسمت USE  رو که مثل مایکروسافتیا شده  که  اول اسم NameSpace   رو میارن بعد  library  وقتی اصلاح کردم  کامپایل شد.
در واقع  StrUtils  رو  تبدیل   به  System.StrUtils   کردم  و  حل شد.   اما اگه کسی میدونه این سازگاری رو که خودش این موضوع رو بفهمه  ،  چطور میشه در command line  به کامپایلر فهموند بد نیست اینجا بگه تا استفاده کنیم.
تشکر از دوستانی که لطف فرموده راهنمایی نمودند.
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.