Параметры ActiveX контрола
От: suborg Россия www.suborg.ru
Дата: 08.09.05 10:50
Оценка:
Пишется ActiveX контрол, который должен использоваться в WEB интерфейсе. Ему передаются параметры вида
<PARAM NAME="ProjectName" VALUE="levelten">
Возникает вопрос — что должно быть в исходниках ActiveX чтобы он принял в себя переданное из html значение параметра.
На этот счёт мне попалось неплохое описание на FirstSteps.ru, но в рамках описания предлагается воспользоваться ClassWizard и его разделом Automation (VisualC++ 6.0), а я работаю под .Net, соответственно, там VC7, и вот незадача — никак не найду ClassWizard ради Automation. Как мне лучше поступить?
Re: Параметры ActiveX контрола
От: bayda Украина  
Дата: 08.09.05 11:26
Оценка:
Здравствуйте, suborg, Вы писали:

S>Пишется ActiveX контрол, который должен использоваться в WEB интерфейсе. Ему передаются параметры вида

S><PARAM NAME="ProjectName" VALUE="levelten">
S>Возникает вопрос — что должно быть в исходниках ActiveX чтобы он принял в себя переданное из html значение параметра.
S>На этот счёт мне попалось неплохое описание на FirstSteps.ru, но в рамках описания предлагается воспользоваться ClassWizard и его разделом Automation (VisualC++ 6.0), а я работаю под .Net, соответственно, там VC7, и вот незадача — никак не найду ClassWizard ради Automation. Как мне лучше поступить?

если используешь MFC, то получить эти свойства ты можешь в:
DoPropExchange(CPropExchange* pPX)

примерно так:
PX_Bool(pPX, _T("PromoSpace"), m_bShowPromoSpace);

а если не MFC, так кажецца нужно какойто интерфейс реализовать, не помню уже
Re: Параметры ActiveX контрола
От: algol Россия about:blank
Дата: 09.09.05 15:24
Оценка:
Здравствуйте, suborg, Вы писали:

S>Пишется ActiveX контрол, который должен использоваться в WEB интерфейсе. Ему передаются параметры вида

S><PARAM NAME="ProjectName" VALUE="levelten">
S>Возникает вопрос — что должно быть в исходниках ActiveX чтобы он принял в себя переданное из html значение параметра.

За это отвечает IPersistPropertyBag. Для .NET можно почитать здесь:

.NET Windows Forms controls also implement IPersistPropertyBag. However, this implementation is inaccessible to developers; instead, the .NET runtime host for Internet Explorer (IEHost.dll) uses Reflection to discover the names of all public properties defined on your control. If it finds a property with a name that matches the NAME attribute of a PARAM tag, it does a property set. There's no need to handle IPropertyBag directly, as you do in C++ ActiveX controls, or implement the ReadProperties and WriteProperties methods as in Visual Basic 6.0 UserControls; IEHost handles the busy work for you.
There are, of course, catches to all this convenience. First, your property must be typed as a string, or else you must supply a custom object that converts the string representation of the PARAM Value into the type of your choice.

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.