PDA

View Full Version : سوال: فرم لاگین با mdi forms



delphiprog3000
چهارشنبه 10 آبان 1391, 08:03 صبح
با سلام به دوستان و اساتید محترم. تمام تاپیکهای ام دی ای و ساخت لاگین مطالعه کردم.

اما این مشکل تا به حال پیش نیومده بود.

کد مورد نظر اینه :


var
Login : TFrm_login;
begin
Login := TFrm_login.Create(Application);
if Login.ShowModal = mrOK then
begin
//Splash := TSplashFrm.Create(Application);
// Splash.Position := poScreenCenter;
//if Splash.ShowModal = mrOK then
//begin

Application.Initialize;

// Login.Position := poScreenCenter;
// if Login.ShowModal = mrOK then
Application.CreateForm(TFrm_main, Frm_main);
Application.CreateForm(TDataModule1, DataModule1);
Application.Run;

end;


هنگامی که این کد اجرا میشه ارور میده که میگه فرم اصلی ام دی ای ابتدا باید اجرا بشه.
در ضمن فرم main فرم ام دی ای اصلی و مابقی child هستند.
دیدم مثل این تاپیک نیست ایجاد کردم تا شاید مشکل سایر دوستان هم باشه.

با تشکر

Felony
چهارشنبه 10 آبان 1391, 08:50 صبح
عزیز من ؛
اونقدری که وقت گذاشتی این تاپیک رو ایجاد کردی ، نصفش رو وقت میزاشتی و همین کدی که اینجا گذاشتی میخوندی ، تو کد برداشتی اول فرم Login رو ساختی ، بعد در آخر فرم frm_main بعد توقع داری چی پیش بیاد ؟ مگه الان فرم MDI ساخته شده که فرم Child روش ساخته بشه ؟!

فرم Login و Splash ت رو از حالت MDI Child خارج کن یا Main Form رو Auto Create کن و کد مربوط به ساخت فرم Login رو بعد از کد ساخته شدن Main Form تو فایل dpr قرار بده .

BORHAN TEC
چهارشنبه 10 آبان 1391, 08:55 صبح
سلام
براتون یک مثال آماده کردم که با مطالعه اون می توانید روش کار را یاد بگیرید.
قبل از بررسی کدها به منوی Project > Options > Form بروید تا ببینید که فرم لاگین به صورت Auto Create نیست:چشمک:
کد زیر را من در XE3 نوشته ام که اگر می خواهید از آن در نسخه های قدیمی تر دلفی استفاده کنید باید نام یونیت ها را کمی تغییر دهید که کار ساده ای است.
موفق باشید...