ورود

View Full Version : چند فرمی کار کردن



روح اله معینی زاده
یک شنبه 03 مهر 1384, 16:43 عصر
سلام به همه دوستان دلفی کار

این جانب یک وی بی دات نت کار هستم. بنا به دلایلی دارم یک برنامه با دلفی 7 می نویسم. حال اشکال کار این‌جا است.

من یک فرم اصلی دارم و وقتی از منوی آن یک زیر منو را انتخاب می کنم، با دستورات زیر فرم دوم را باز می کنم.

frm2.show
frm1.hide

خوب این کار داره درست انجام می شه. ولی وقتی فرم دوم رو می بندم و می خوام فرم اول رو باز کنم این کار انجام نمی شه.

frm1.show
frm2.hide

جالب اینه که این کار برای همه‌ی فرم‌ها داره درست انجام می شه ولی برای این فرم که جدید اضافه کردم. این اتفاق نمی افته و فقط فرم بسته می شه و دیگه فرم اول ظاهر نمی شه.

همه تنظیمات رو هم مانند بقیه فرم ها تنظیم کردم.
با احترام- خدانگهدار

علی باحجب مودتی
دوشنبه 04 مهر 1384, 14:56 عصر
شما برا یکار با چند فرم 2 انتخاب در پیش دارید
1- همگی فرم هارا در اول ایجاد کنید و در حافظه بارگذاری کنید و تا آخر برنامه در حافظه باقی بماند
2 - فرم های لازم را در زمانهای لازم در حافظه بارگذاری کنید و سپس آنها را از حافظه پاک کنید
پیش فرض دلفی گزینه اول است فقط باید فرمهارا show , close کنید و نباید فرمهارا free کنید
مساله دیگری که در دلفی وجود دارد مساله دید و سطوح و حوزه شی ها است فقط فرمهای را میتوانید باز کنید که در دید فرم مذکور باشد با استفاده از منوی
file -> use unit میتوانید به این کار دست یابید
اما برای گزینه دوم بایستی از منوی tools - > option یا یونیت application فقط یک فرم برای بارکذاری موقع شروع برنامه انتخاب کنید و بقیه فرمهارا create و سپس show , showdialog کرده وسپس close و در آخر free کنید

Naficy
دوشنبه 04 مهر 1384, 20:14 عصر
بد نیست کمی بیشتر توضیح بدین. شما در حالت Mdi برنامه می نویسین یا فرمهاتون به صورت مجزا روی صفحه ظاهر می شن؟ کدهایی که ذکر کردین رو کجای برنامه می گذارین؟ فرم اصلی برنامه تون کدومه؟ فرم دوم رو چه جوری می بندین؟ بعد از بسته شدن فرم دوم، برنامه تموم می شه یا تو حافظه باقی می مونه؟ آیا کد خاصی مثلا در رویدادهای OnClose یا OnShow ی فرم ها نوشتین؟...

ضمنا ببینین شاید با دیباگ کردن برنامه بشه یه سرنخهایی به دست اورد. مثلا روی همان خطهایی که قراره فرم اول رو بیارن یه Breakpoint بذارین. (با کلید F5) و ببینین آیا چیز نامتعارفی پیدا می کنین یا نه.

روح اله معینی زاده
سه شنبه 05 مهر 1384, 19:14 عصر
سلام دوست عزیز

به موضوع اصلی اشاره کردی و من یادم اومد که قبلا چی کار می کردم.

دستت درد نکنه

OnHide

درست شد- دستت درد نکنه

با احترام- خدانگهدار