PDA

View Full Version : خطای invalid number of parameters در ActiveX



marvel
شنبه 04 خرداد 1387, 10:59 صبح
سلام خسته نباشید
من یه کنترل ActiveX در Visual C++6 (MFC) i ایجاد کردم. و ار property های اون تو یه sample ویژوال سی استفاده کرده بودم. جدیدا تصمیم گرفتم یه Property جدید به ActiveX اضافه کنم . وقتی با ویزارد یه Property از نوع Seter_ Geter اضافه میکنم و فایل اجرایی sample را اجرا میکنم زمان استفاده ازبعضی property های قدیمی پیغام خطای invalid number of parameters را دریافت میکنم. در صورتی که من هیچ تغییری در property های قدیمی ایجاد نکردم. حتی داخل توابع Seter_Geter جدید را هم خالی گذاشتم. برای اینکه این مشکل حل بشه حتما باید کلاس ActiveX را از پروژه ی Sample حذف کنم و مجدد اضافه کنم. ولی من ترجیح میدم این طور نباشه . یعنی فقط وقتی ActiveX را Register میکنم برنامه هایی که با ورژن قدیمی Compile شدن نیز بدون مشکل کار کنند.





DISP_PROPERTY_EX(CMyCtrl, "AutoFlag", GetAutoFlag, SetAutoFlag, VT_BOOL)
//=============================================
afx_msg void SetAutoFlag(BOOL bNewValue);
afx_msg BOOL GetAutoFlag();
//=============================================
void CMyCtrl::SetAutoFlag(BOOL bNewValue)
{
bAutoFlag= bNewValue;
SetModifiedFlag();
}
//=============================================
BOOL CMyCtrl::GetAutoFlag()
{
// TODO: Add your property handler here
return bAutoFlag;
}
//=============================================
dispidAutoFlag = 17L,