PDA

View Full Version : سوال: چک کردن به ارث رسیدن کامپوننت



یوسف زالی
چهارشنبه 13 شهریور 1392, 16:37 عصر
سلام.
فرض کنید یک مستر فرم داریم که روش یک دکمه به نام ExitBtn داره.
از این مستر فرم، فرمی مشتق می کنیم و روش یک دکمه به نام SaveBtn می گذاریم.
چطور می شه تابعی نوشت که با دادن یک کامپوننت چک کنه ببینه از فرم مستر به ارث رسیده بهش یا اینکه خودش تو فرم اون رو ساخته.
در این مثال باید برای ExitBtn مقدار true و برای SaveBtn مقدار false برگردونه.

خودم با کلک رشتی تونستم تابع رو بنویسم ولی اصولا راه درستش چی هست؟
با تشکر.

پانویس
--------
این کار ممکنه در حالت اشتقاق معمولی از کلاس های عادی با اشتقاق فرمی تفاوت داشته باشه. دلیلش هم اینه که در حالت فرمی DFM داریم که خیلی داستان رو عوض می کنه.

Felony
چهارشنبه 13 شهریور 1392, 18:19 عصر
نمیشه ، تو RTTI هم چیزی در موردش ثبت نمیشه که بشه بهش رسید ، شما میتونید به پدر یک فرزند برسید که تو یک فرم مشتق شده از یک فرم دیگه همه کامپوننتها فرزند همون فرم اول هستند پس به کارتون نمیاد .

راه حل ساده اینکه برای کامپوننت های موجود در Master Form مثلا خصیصه تگ رو 1 کنید ، کامپوننت های مشترک موجود در فرم فرزند هم تگشون 1 میشه و میتونید تشخیص بدید که اینها در اصل در فرم پدر تعریف شده هستند .

یوسف زالی
چهارشنبه 13 شهریور 1392, 20:25 عصر
آره اما این طوری تگ غیر قابل استفاده می شه.
من خودم از مستر فرم یک نمونه هیدن ساختم اسمهاش رو مقایسه کردم.
این روش رو خودم هم تایید نمی کنم چون کنده.
فکر کنم بهترین روش همینیه که گفتی. فدا کردن یک خصیصه.