PDA

View Full Version : ارتباط بین فرم اصلی از طریق مین منو با فرمهای دیگر



nima_1041
شنبه 21 تیر 1382, 13:09 عصر
ضمن سلام و عرض ارادت خدمت همه دوستان
مشکل من نوشتن کدهایی است در ایونت منو ساخته شدن جهت اتصال به سایر فرمها
لطفا اگر قبول زحمت فرمودید اگر شد با یک مثال مرا راهنمایی فرمایید
با تشکر
:?:

مهدی کرامتی
شنبه 21 تیر 1382, 13:49 عصر
بیشتر توضیح دهید. سوالتان واضح نیست.

Mohammad_Mnt
شنبه 21 تیر 1382, 14:23 عصر
یونیت 8)

amirrf
شنبه 21 تیر 1382, 14:45 عصر
یونیت های فرم های موردنظر را به قسمت uses یونیت اصلی اضافه کنید؛ در پاسخ به انتخاب گزینه های منوی اصلی فرم ها را نمایش دهید.

houshmand
شنبه 21 تیر 1382, 14:49 عصر
:?:

amirrf
شنبه 21 تیر 1382, 15:01 عصر
procedure TMainForm.About1Click(Sender: TObject);
begin
frmAbout.ShowModal;
end;

nima_1041
شنبه 21 تیر 1382, 18:04 عصر
ضمن تشکر از توجه دوستان
سعی می کنم توضیح بیشتری بدهم
من منو هایی درست کرده ام که در آن نام فرمها و گزارشات و دستورات مختلف آمده است که از جمله آنها فرم اطلاعات پایه و فرمهای ورود اطلاعات می باشد ضمن اینکه برای دستورات نیز بستن برنامه را قرار داده ام
برای بستن برنامه هیچ مشکلی وجود ندارد چرا که در آن کلیک ایونت آن با نوشتن کلوز بین "بگین "و "اند" دستور اجرا می شود
procedure Tmain1.N32Click(Sender: TObject);
begin
close
end;

end.
ولی برای باز کردن فرمهاو یا گزارشات شکل صحیح نگارش ایونت را بلد نیستم
از راهنماییهای شمامتشکر می شوم

شنبه 21 تیر 1382, 21:51 عصر
با سلام
اگر شما به شیوه معمولی یعنی با دستورات Show و یا ShowModal فرم هاتون رو باز کنین باید تمام آنها رو در حافظه داشته باشین که علاوه بر اینکه حافظه زیادی مصرف می کنند، هر بار که فرمی را Close می کنین کامل از حافظه خارج نشده و اگر برنامه شما کمی بزرگ باشه، بعد از مدت کمی که کاربر با اون کار کنه، سیستمش هنگ می کنه!!
برای جلوگیری از این کار، بهترین شیوه فراخوانی فرم ها در دلفی به این صورت است که شما باید فرم را از حافظه خارج کنین ( بوسیله منوی Projects و گزینه Options ) و هنگام فراخوانی از دستور زیر استفاده کنین :


with TForm1.Create(nil) do
begin
ShowModal;
Release;
end;

و در event، FormClose هم دستور :

Action := caFree;

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

شیما عباس زاده

nima_1041
چهارشنبه 25 تیر 1382, 08:00 صبح
ضمن تشکر از همه دوستان
مشکل من از طریق زیر حل شد
یونیت های فرم های موردنظر را به قسمت uses یونیت اصلی اضافه کردم و بعد با کلیک کردن روی نام فرم مورد درخواست در لیست منو ها و باز شدن نام فرم درخواستی را بین

procedure Tmain1.N10Click(Sender: TObject);
begin
نام فرم.Show;
end;
نوشتم برنامه را اجرا کردم و ارتباط برقرار بود
باز هم متشکرم

m_reza
پنج شنبه 17 مهر 1382, 11:26 صبح
با سلام

شیما نوشته است:


اگر شما به شیوه معمولی یعنی با دستورات Show و یا ShowModal فرم هاتون رو باز کنین باید تمام آنها رو در حافظه داشته باشین که علاوه بر اینکه حافظه زیادی مصرف می کنند، هر بار که فرمی را Close می کنین کامل از حافظه خارج نشده و اگر برنامه شما کمی بزرگ باشه، بعد از مدت کمی که کاربر با اون کار کنه، سیستمش هنگ می کنه!!
برای جلوگیری از این کار، بهترین شیوه فراخوانی فرم ها در دلفی به این صورت است که شما باید فرم را از حافظه خارج کنین ( بوسیله منوی Projects و گزینه Options ) و هنگام فراخوانی ...

می تونم بپرسم چگونه از منوی project و گزینه Option فرم ها را از حافظه می توان خارج کرد؟
یعنی کدام tab و چه گزینه ای باید انتخاب شود؟

مهدی کرامتی
پنج شنبه 17 مهر 1382, 11:39 صبح
می تونم بپرسم چگونه از منوی project و گزینه Option فرم ها را از حافظه می توان خارج کرد؟
یعنی کدام tab و چه گزینه ای باید انتخاب شود؟
در پنجره Project Options در بخش Forms فرمهایی که نمیخواهید بصورت خودکار ایجاد شوند را از بخش Auto-Create به Available Forms منتقل کنید.

JavanSoft
پنج شنبه 17 مهر 1382, 14:21 عصر
می توانید از منوی Project قسمت View Source را انتخاب کنید سپس هر یک فرمها را که خواستید از حالت Static خارج و در برنامه ایجاد کنید ... حسن این قسمت به این است که می توانید برنامه هایی که لازم است قبل از همه فرمها اجرا شوند را نیز در این قسمت بنویسید و یا حتی بدون داشتن فرم برنامه های خود را در این بخش پیاده کنید