PDA

View Full Version : فرق closeو hideو free چیه



kilimanjaro
دوشنبه 22 اسفند 1384, 11:44 صبح
باسلام
ببخشید که من مبتدی هستم میشه بگید فرق این سه دستور زیر با هم چیه؟
form.hide
form.free
form.close

ویه سئوال دیگه اگه بخوام در فرم اصلی با کلیک روی منو یه فرم دیگه بازبشه و بعد درفرم دوم بعد از یک سری تغییرات مثلا hide کردن یکسری کلیدها یا کمبو باکسها، کارم که تمام شد به فرم اول برگردم و اگر دوباره در فرم اول مجددا با کلیک روی منو به فرم دوم بروم ، کمبو باکسها و کلیدها hide نباشند و مثل دفعه اول بدون تغییر باشند چکار کنم؟

Mahdi_S_T
دوشنبه 22 اسفند 1384, 12:31 عصر
دوست عزیز بهتره که اول شما یه مطالعه در زمینه دلفی انجام بدید بعد اشکالات خود را مطرح کنید

kilimanjaro
دوشنبه 22 اسفند 1384, 13:09 عصر
دوست عزیز بهتره که اول شما یه مطالعه در زمینه دلفی انجام بدید بعد اشکالات خود را مطرح کنید
ممنون از اینکه جواب دادید
شاید من منظورمو درست بیان نکردم
ببینید من یه برنامه ای نوشته ام که در صفحه اصلی یک منو هست وقتی منو را انتخاب می کنید فرم دومی باز می شود بر اساس اطلاعاتی که در فرم دوم وارد می کنم یکسری از editbox ها visible می شوند و همچنین بعضی از کامبو باکس هاهم از حالت editable خارج میشوند یعنیeditable:=false خوب وقتی که کار با فرم دوم انجام میشود باید به فرم اول برگردم اگر در فرم اول مجددا از منو فرم دوم را انتخاب کردم خواص آیتمهای فرم دوم به صورت آخرین تغییراتی که اعمال شده دیده می شوند(unvisible و unenabled )حالا اگرمن نخواهم هر دفعه پس از پایان کار در فرم دوم قبل از باز کردن فرم اول خواص آیتمهای تغییر یافته به حالت اول (قبل از تغییر) برگردانم چه کار باید بکنم آیا باید پس از کاربا فرم دوم آنرا free کنم یا آنرا close کنم و با اجرا منوی فرم اول دوباره آنرا باز کنم؟

دنیای دلفی
دوشنبه 22 اسفند 1384, 14:45 عصر
بهترین را استفاده از خاصیت Enable است

mzjahromi
دوشنبه 22 اسفند 1384, 15:18 عصر
ببینید من یه برنامه ای نوشته ام که در صفحه اصلی یک منو هست وقتی منو را انتخاب می کنید فرم دومی باز می شود بر اساس اطلاعاتی که در فرم دوم وارد می کنم یکسری از editbox ها visible می شوند و همچنین بعضی از کامبو باکس هاهم از حالت editable خارج میشوند یعنیeditable:=false خوب وقتی که کار با فرم دوم انجام میشود باید به فرم اول برگردم اگر در فرم اول مجددا از منو فرم دوم را انتخاب کردم خواص آیتمهای فرم دوم به صورت آخرین تغییراتی که اعمال شده دیده می شوند(unvisible و unenabled )حالا اگرمن نخواهم هر دفعه پس از پایان کار در فرم دوم قبل از باز کردن فرم اول خواص آیتمهای تغییر یافته به حالت اول (قبل از تغییر) برگردانم چه کار باید بکنم آیا باید پس از کاربا فرم دوم آنرا free کنم یا آنرا close کنم و با اجرا منوی فرم اول دوباره آنرا باز کنم؟
در صورتی که فرم را Free کنید دفعه دوم که می خواهید آنرا نمایش دهید باید حتما آنرا دوباره Create کنید(ولی حالت کلیه کامپوننتها به صورت پیش فرض در می آید). یک راه دیگه هم اینه که در On Show همه کامپوننتها را دوباره به حالت اولیه برگردونی.
Free حافظه تخصیص یافته برای فرم را آزاد میکند در صورتیکه Close و Hide تنها فرم را میبندند

Hamid_PaK
سه شنبه 23 اسفند 1384, 19:08 عصر
دوست عزیز اگر فرم اول فرم اصلی برنامه باشد امکان آزاد سازی ( Free ) فرم نمی باشد ، پس باید راهی برای تنظیم ساده تمامی شی های فرم اول پیدا کرد و اگر نه می تونید آن را آزاد کنید ...



ّForm1.Edit1.Enable := 1 = 1;
ّForm1.Edit2.Visible := 12 > 10;
ّForm1.Edit3.ReadOnly := 50 mod 2 = 0;


یا حق !!!