PDA

View Full Version : چطور در حالت Runtime بدون کامپایل دوباره تغییرات بوجود آمده در فرم اعمال شود



mahdy.asia
چهارشنبه 29 دی 1389, 06:05 صبح
اگر خواسته باشیم بدون کامپایل برنامه در صورت تغییرات در یک فرم تغییرات در برنامه اجرایی اعمال شود چگونه اینکار را انجام دهیم

vcldeveloper
چهارشنبه 29 دی 1389, 09:33 صبح
اعمال تغییرات بدون کامپایل معنی نمیده! مگه اینکه منظورتون از تغییرات فرم، فقط تغییر یکسری از خصوصیات ظاهری فرم که در فایل DFM ثبت میشه باشه؛ یا اینکه بخواید برای تغییرات خیلی کوچیک، فایل EXE را با استفاده از Hex Editor ویرایش کنید، که اون هم منطقی نیست، مگه اینکه کرکر باشید و بخواید برنامه را کرک کنید.

mahdy.asia
چهارشنبه 29 دی 1389, 18:38 عصر
مگه اینکه منظورتون از تغییرات فرم، فقط تغییر یکسری از خصوصیات ظاهری فرم که در فایل DFM ثبت میشه باشه؛
مایلم اینو بدونم که تغییرات در dfm چطور می تونه بدون کامپایل انجام بشه
اما مشکل من :
من مسئول سیستم سازمان الکترونیک شرکت هستم که از داخل سیستم مذکور 90 فرم مکانیزه که برنامه نویسان دیگر مسئولیت آن را بر عهده دارند اجرا و طبق فرایندی که در سازمان الکترونیک برای هر یک از فرمهای مذکور تعریف شده است مراحل خود را طی می نمایند هر بار که یکی از برنامه نویسان تغییری در فرم خود ایجاد می نمایند من می بایست سیستم سازمان الکترونیک را کامپایل نمایم.
من می خواهم روشی را پیاده سازی نمایم که اگر ایشان در فرم خود تغییری ایجاد نمودند نیاز به کامپایل سیستم سازمان الکترونیک نباشد.

vcldeveloper
چهارشنبه 29 دی 1389, 19:39 عصر
مایلم اینو بدونم که تغییرات در dfm چطور می تونه بدون کامپایل انجام بشه
داده DFM به صورت Resource در فایل EXE ذخیره میشه، پس می تونید با استفاده از یک Resource Editor اون رو تغییر بدید.



من مسئول سیستم سازمان الکترونیک شرکت هستم که از داخل سیستم مذکور 90 فرم مکانیزه که برنامه نویسان دیگر مسئولیت آن را بر عهده دارند اجرا و طبق فرایندی که در سازمان الکترونیک برای هر یک از فرمهای مذکور تعریف شده است مراحل خود را طی می نمایند هر بار که یکی از برنامه نویسان تغییری در فرم خود ایجاد می نمایند من می بایست سیستم سازمان الکترونیک را کامپایل نمایم.
من می خواهم روشی را پیاده سازی نمایم که اگر ایشان در فرم خود تغییری ایجاد نمودند نیاز به کامپایل سیستم سازمان الکترونیک نباشد.
اینطوری نمیشه. باید در زمان طراحی برنامه، به صورت ماجولار کار می کردید، به طوری که فرم های مختلف در ماجول های مستقلی (مثلا به صورت DLL یا Package) کامپایل بشند، و نیازی نباشه که با هر بار تغییر در اون فرم ها، کل پروژه مجددا کامپایل بشه.

در ضمن، در همچین پروژه هایی، نباید دستی پروژه را کامپایل کنید، بلکه باید از یک نرم افزار Version Control و یک Continuous Build System استفاده کنید تا هر زمانی که برنامه نویسی تغییری در سورس کدها داد، و آن را در مخزن کد ثبت کرد، نرم افزار مدیریت Build شما به طور خودکار پروژه را کامپایل کنه، و اگر مشکلی وجود داشت، آن را به مدیر پروژه گزارش بده.

mahdy.asia
پنج شنبه 30 دی 1389, 22:00 عصر
اینطوری نمیشه. باید در زمان طراحی برنامه، به صورت ماجولار کار می کردید
آیا می شود فرمها را بصورت dll در آورد و بعد با پارامترهای ورودی آن را اجرا نمود؟

باید از یک نرم افزار Version Control و یک Continuous Build System استفاده کنید
آیا نرم افزاری که با دلفی سازگاری داشته باشه برای یک کار حرفه ایی مناسب باشه می تونید معرفی نمایید

vcldeveloper
جمعه 01 بهمن 1389, 01:06 صبح
آیا می شود فرمها را بصورت dll در آورد و بعد با پارامترهای ورودی آن را اجرا نمود؟
بله.


آیا نرم افزاری که با دلفی سازگاری داشته باشه برای یک کار حرفه ایی مناسب باشه می تونید معرفی نمایید
چندان ارتباطی با خودِ دلفی نداره. برای Version Control، نرم افزارهای مختلفی هست. معروفترین شان در حال حاضر Subversion هست، که درباره اش در این سایت تاپیک های مختلفی داریم.
برای مدیریت Build هم نرم افزارهای زیادی به طور رایگان و تجاری وجود دارند. یکی از این نرم افزارها که تجاری هست، سازگاری خوبی با پارامترهای دلفی داره، و در نسخه XE دلفی هم همراه با دلفی عرضه میشه، FinalBuilder هست.