ret_ie
شنبه 22 فروردین 1394, 23:49 عصر
با سلام خدمت تمامی دوستان ارجمندم
مشکلی به شرح زیر دارم و از اساتیدم ممنون میشم کمکم کنند:
یک کامپوننت نوشتم (شما فرض کنید به اسم TQuestion). مستحضرید که متد Constructor این کامپوننت در مواقع زیر اجرا میشه:
1- در حالت Design و وقتی کامپوننت رو از روی Palette می کشید و روی فرم می اندازید
2- وقتی پروژه ای / فرمی که حاوی این کامپوننت هست رو از روی دیسک باز می کنید (Open Saved Project)
3- هنگام Run شدن پروژه
من متد Constructor رو تنظیم کردم تا به برخی از Property های کامپوننت TQuestion مقدار اولیه بده. تلاش بنده این بود که این مقداردهی اولیه تنها در حالت شماره 1 ذکر شده انجام بشه. اما با وجودیکه اطمینان دارم مقادیر این Propertyها در فایل DFM ذخیره (یا همون Stream) شدند، اما هربار که پروژه باز میشه (حالت شماره 2) و قبل از اجرا (حالت شماره 3) بازهم مقادیر پیش فرض جایگزین مقادیر Set شده میشه و داستانی میشه که حدسش دور از ذهن بزرگوارانم نیست.
چطور میتونم بین حالتهای 1 تا 3 فوق تفاوت قایل شم. البته اینو بگم که افزودن شرط (if csDesigning in ComponentState) هم بی فایده بوده...
مشکلی به شرح زیر دارم و از اساتیدم ممنون میشم کمکم کنند:
یک کامپوننت نوشتم (شما فرض کنید به اسم TQuestion). مستحضرید که متد Constructor این کامپوننت در مواقع زیر اجرا میشه:
1- در حالت Design و وقتی کامپوننت رو از روی Palette می کشید و روی فرم می اندازید
2- وقتی پروژه ای / فرمی که حاوی این کامپوننت هست رو از روی دیسک باز می کنید (Open Saved Project)
3- هنگام Run شدن پروژه
من متد Constructor رو تنظیم کردم تا به برخی از Property های کامپوننت TQuestion مقدار اولیه بده. تلاش بنده این بود که این مقداردهی اولیه تنها در حالت شماره 1 ذکر شده انجام بشه. اما با وجودیکه اطمینان دارم مقادیر این Propertyها در فایل DFM ذخیره (یا همون Stream) شدند، اما هربار که پروژه باز میشه (حالت شماره 2) و قبل از اجرا (حالت شماره 3) بازهم مقادیر پیش فرض جایگزین مقادیر Set شده میشه و داستانی میشه که حدسش دور از ذهن بزرگوارانم نیست.
چطور میتونم بین حالتهای 1 تا 3 فوق تفاوت قایل شم. البته اینو بگم که افزودن شرط (if csDesigning in ComponentState) هم بی فایده بوده...