PDA

View Full Version : مشکل Show شدن فرم با Create کردن آن



Cave_Man
جمعه 12 بهمن 1386, 21:49 عصر
با سلام , درود
این پروژه ضمیمه شده به این پست رو ببینید
فرم دوم این پروژه با نام Fnew_doc هنگام Create شدن Show میشه و واقعا عجیبه.
نمیخام واسم درستش کنید فقط اگر از علت این اشکال سر در اوردید علت رو بفرمایید.
قبلا متشکرم!

Delphi Coder
جمعه 12 بهمن 1386, 21:52 عصر
من ضمیمه ای نمی بینم اینجا

SYNDROME
جمعه 12 بهمن 1386, 22:48 عصر
Visible مربوط به فرم Fnew_doc را False کنید .
موفق باشید

Cave_Man
جمعه 12 بهمن 1386, 22:54 عصر
SYNDROM جان درسته من منظورت رو چون بی دقتی کردم اول متوجه نشدم.
ممنون

حمیدرضاصادقیان
جمعه 12 بهمن 1386, 23:25 عصر
سلام.من هم تست کردم.و حتی یک فرم دیگه ایجاد کردم.دیدم به طور پیش فرض خود دلفی visible فرم جدید رو false میکنه و وقتی که من True کردم فرمی که خودم ایجاد کردم دوباره فعال شد.مگر اینکه از فایل project قسمت create فرم رو بردارید و هر وقت نیاز داشتید خودتون فرم رو ایجاد کنید.
موفق باشید.

rasool_brn
شنبه 13 بهمن 1386, 01:24 صبح
رویداد OnShow بعد از OnCreate و قبل از متد Show فراخوانی می شه.
Create-1
OnCreate-2
AfterConstrution-3
OnShow-4
Show-5

Cave_Man
شنبه 13 بهمن 1386, 04:34 صبح
هر وقت نیاز داشتید خودتون فرم رو ایجاد کنید..
من از شما میخام که این کار رو فقط با فرم Fnew_doc انجام بدید. اما میبینید که هر جا شما این فرم رو Create کنید خودکار Show هم میشه!!!

رویداد OnShow بعد از OnCreate و قبل از متد Show فراخوانی می شه.

دوست عزیز مشکل اینه که متد Show رو فراخوانی نمیکنیم ولی این فرم فقط با Create کردن Show میشه .

Mahmood_M
شنبه 13 بهمن 1386, 04:48 صبح
نمیخام واسم درستش کنید فقط اگر از علت این اشکال سر در اوردید علت رو بفرمایید.
وقتی یک فرم ایجاد میشه ، خاصیت Visible اون True هست و این باعث میشه رویدادهای زیر هم اجرا بشن ( به ترتیب ) :


1. OnShow
2. OnActivate
3. OnPaint

برای دیدن توضیح کاملتر ، روی اونت OnCreate یک فرم کلیک کنید و بعد کلید F1 رو بزنید تا Help دلفی توضیح کامل همراه با مثال رو نمایش بده ...

موفق باشید ...

Cave_Man
شنبه 13 بهمن 1386, 04:51 صبح
وقتی یک فرم ایجاد میشه ، خاصیت Visible اون True هست و این باعث میشه رویدادهای زیر هم اجرا بشن ( به ترتیب ) :
برای دیدن توضیح کاملتر ، روی اونت OnCreate یک فرم کلیک کنید و بعد کلید F1 رو بزنید تا Help دلفی توضیح کامل همراه با مثال رو نمایش بده ...
فکر نمیکردم یکی در جواب این سوال بهم بگه F1 رو بزن .شما مثل اینکه کاملا از مسئله پرت هستید.اصلا شما پروژه رو نگاه کردید که این پست رو زدید؟

Mahmood_M
شنبه 13 بهمن 1386, 05:06 صبح
فکر نمیکردم یکی در جواب این سوال بهم بگه F1 رو بزن .شما مثل اینکه کاملا از مسئله پرت هستید.اصلا شما پروژه رو نگاه کردید که این پست رو زدید؟
اولا این که مودب باشید ، منظور من چیزی نبود که شما برداشت کردید ، اگه فقط میگفتم که به Help دلفی مراجعه کنید ، شاید پیدا کردن این قسمت سخت میشد ولی اینطوری یه راست میرید توی همون صفحه از Help ... ، بگذریم ...

من دقیقا جواب شما رو دادم ...

خاصیت Visible فرم شما True هست ، وقتی خاصیت True باشه ، همونطور که در پست قبلی گفتم ، متدهای زیر به ترتیب اجرا میشن :

1. OnShow
2. OnActivate
3. OnPaint

موفق باشید ...

Cave_Man
شنبه 13 بهمن 1386, 05:15 صبح
اولا این که مودب باشید ، منظور من چیزی نبود که شما برداشت کردید ، اگه فقط میگفتم که به Help دلفی مراجعه کنید ، شاید پیدا کردن این قسمت سخت میشد ولی اینطوری یه راست میرید توی همون صفحه از Help ...
آقای محترم برای من عجیبه چرا شما بدون اینکه صورت سوال رو بخونید و کامل بفهمید پست میزنید و اینجا رو اشغال میکنید.
یه بار دیگه تکرار میکنم مشکل اینه که چرا با Create کردن فرم نمایش داده میشه؟ این در حالیه که باید با فراخوانی متد Show باید این اتفاق بیفته و فرم نمایش داده بشه.

Mahmood_M
شنبه 13 بهمن 1386, 05:26 صبح
آقای محترم برای من عجیبه چرا شما بدون اینکه صورت سوال رو بخونید و کامل بفهمید پست میزنید و اینجا رو اشغال میکنید.
یه بار دیگه تکرار میکنم مشکل اینه که چرا با Create کردن فرم نمایش داده میشه؟ این در حالیه که باید با فراخوانی متد Show باید این اتفاق بیفته و فرم نمایش داده بشه.
دوست عزیز ...
شما یک پروژه اینجا گذاشتید که توش یک فرم هست ، مشکل اینه که فرمتون با Create شدن نشون داده میشه ، یعنی رویداد OnShow اون اجرا میشه ، خوب من هم جواب رو دادم ...

ببینید ، این جملیه که در Help دلفی نوشته شده :

When a form is being created and its Visible property is true, the following events occur in the order listed:

1. OnCreate
2. OnShow
3. OnActivate
4. OnPaint

وقتی یک فرم Create میشه ، اگر خاصیت Visible اون True باشه ، رویدادهای OnShow , OnActivate و OnPaint ، بعد از Create شدن فرم اجرا می شن ...
اینم اضافه کنم که وقتی OnShow رو در برنامه فراخوانی می کنید ، Visible مربوط به فرم True میشه و با اجرا شدن دستور Close خاصیت Viasible دوباره False میشه ( با هر بار فراخوانی متد OnShow ، رویدادهای OnActivate و OnPaint هم اجرا میشن )
خاصیت Visible فرم شما در حالت پیش فرض True هست ، ظاهرا این موضوع رو نمی دونید !

یه نگاه به پروژتون بندازید ...

موفق باشید ...

Cave_Man
شنبه 13 بهمن 1386, 05:32 صبح
دوست عزیز ...
شما یک پروژه اینجا گذاشتید که توش یک فرم هست ، مشکل اینه که فرمتون با Create شدن نشون داده میشه ، یعنی رویداد OnShow اون اجرا میشه ، خوب من هم جواب رو دادم ...

ببینید ، این جملیه که در Help دلفی نوشته شده :

When a form is being created and its Visible property is true, the following events occur in the order listed:

1. OnCreate
2. OnShow
3. OnActivate
4. OnPaintوقتی یک فرم Create میشه ، اگر خاصیت Visible اون True باشه ، رویدادهای OnShow , OnActivate و OnPaint ، بعد از Create شدن فرم اجرا می شن ...
خاصیت Visible فرم شما در حالت پیش فرض True هست ، ظاهرا این موضوع رو نمی دونید !

یه نگاه به پروژتون بندازید ...

موفق باشید ...
دوست عزیز ممنون
بی دقتی کردم شما هم فکر میکنم این میان ناراحت شدید
کمال تشکر!

Mahmood_M
شنبه 13 بهمن 1386, 05:42 صبح
دوست عزیز ممنون
بی دقتی کردم شما هم فکر میکنم این میان ناراحت شدید
کمال تشکر!
نه دوست عزیز ، ناراحت نشدم ، این مشکلات ممکنه برای هر کسی پیش بیاد ...

موفق باشید ...