ActiveX и Word.
От: Аноним  
Дата: 31.07.01 09:58
Оценка:
Вставляю ActiveX контрол в документ Word, все
нормально только измененные св-ва контрола не
сохраняются после загрузки документа *.doc
Уже вставил поддержку интерфейса
IPersistPropertyBag, эффекта нет.
Может кто знает в чем дело.
Re: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.07.01 21:57
Оценка:
Здравствуйте Аноним, вы писали:

А>Вставляю ActiveX контрол в документ Word, все

А>нормально только измененные св-ва контрола не
А>сохраняются после загрузки документа *.doc
А>Уже вставил поддержку интерфейса
А>IPersistPropertyBag, эффекта нет.
А>Может кто знает в чем дело.

Добавь IPersistStream и IPersistStreamInit (а может и Сторэдж)
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: ActiveX и Word.
От: Аноним  
Дата: 01.08.01 04:09
Оценка:
VD>Добавь IPersistStream и IPersistStreamInit (а может и Сторэдж)

Уже есть. ATL добавляет их сам.
Re[3]: ActiveX и Word.
От: Tim Россия RSDN.ru
Дата: 01.08.01 07:33
Оценка:
А в карту свойств свои не забыл добавить?
к примеру

BEGIN_PROP_MAP(CMyControl)
PROP_DATA_ENTRY("myprop", m_int, VT_UI4)
END_PROP_MAP()
--
Как мы живем государственная тайна, на что — коммерческая, с кем — личная.
Re[4]: ActiveX и Word.
От: Аноним  
Дата: 01.08.01 08:26
Оценка:
Здравствуйте Tim, вы писали:

Tim>А в карту свойств свои не забыл добавить?

Tim>к примеру

Tim>BEGIN_PROP_MAP(CMyControl)

Tim> PROP_DATA_ENTRY("myprop", m_int, VT_UI4)
Tim>END_PROP_MAP()


Обязательно, только другим макросом, может быть из-за этого ?
PROP_ENTRY("ShowCheck", 11, CLSID_NULL)

Карта интерфейсов тоже в порядке.
Re[5]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.08.01 15:21
Оценка:
Здравствуйте Аноним, вы писали:

1. Всетаки проверь наличие IPersistStream. По-моему, ATL его автоматом не добаляет. Должно быть чтото вроде этого:

COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStreamInit)
2. Проверь в VB! Причем нажимай F5 или создай EXE.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: ActiveX и Word.
От: Аноним  
Дата: 01.08.01 16:31
Оценка:
VD>1. Всетаки проверь наличие IPersistStream. По-моему, ATL его автоматом не добаляет. Должно быть чтото вроде этого:

VD> COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStreamInit)

VD>2. Проверь в VB! Причем нажимай F5 или создай EXE.


Все есть привожу код: (ATL Wizard добавляет автоматом все кроме IPersistPropertyBag)

class ATL_NO_VTABLE CActiveBC :
......
public IPersistStreamInitImpl<CActiveBC>,
public IPersistStorageImpl<CActiveBC>,
public IPersistPropertyBagImpl<CActiveBC>,
public ICustomActiveBC
......
{
....
}


BEGIN_COM_MAP(CActiveBC)
.....
COM_INTERFACE_ENTRY(IPersistStreamInit)
COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
COM_INTERFACE_ENTRY(IPersistStorage)
COM_INTERFACE_ENTRY(IPersistPropertyBag)
......
END_COM_MAP()


Карта св-в тоже в порядке:

BEGIN_PROP_MAP(CActiveBC)
PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
PROP_ENTRY("AlignText", 1, CLSID_NULL)
PROP_ENTRY("BackColor", 2, CLSID_NULL)
PROP_ENTRY("BarColor", 3, CLSID_NULL)
PROP_ENTRY("BarOrient", 4, CLSID_NULL)
PROP_ENTRY("BarText", 5, CLSID_NULL)
PROP_ENTRY("BarType", 6, CLSID_NULL)
PROP_ENTRY("CalcCheck", 7, CLSID_NULL)
.......
END_PROP_MAP()


В VB все нормально и при запуске приложения и при загрузке
сохраненного ранее проекта.

Может у кого есть простейший пример контрола, который все-таки
сохраняется в этом бл....ом Worde.
Re[7]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.08.01 22:00
Оценка:
Здравствуйте Аноним, вы писали:


А>BEGIN_COM_MAP(CActiveBC)

А> .....
А> COM_INTERFACE_ENTRY(IPersistStreamInit)
А> COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
А> COM_INTERFACE_ENTRY(IPersistStorage)
А> COM_INTERFACE_ENTRY(IPersistPropertyBag)
А> ......
А>END_COM_MAP()

Ну, и где здесь:
COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStreamInit)
или
COM_INTERFACE_ENTRY2(IPersistStream, IPersistStreamInit)

???
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: ActiveX и Word.
От: Аноним  
Дата: 02.08.01 04:53
Оценка:
VD>Ну, и где здесь:
VD>COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStreamInit)
VD>или
VD>COM_INTERFACE_ENTRY2(IPersistStream, IPersistStreamInit)

Да вставлял я вчера
COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStreamInit)
но только убрал потому что нет эффекта.
Re[9]: ActiveX и Word.
От: Аноним  
Дата: 02.08.01 05:02
Оценка:
Может надо что-то руками сделать. Поделитесь примером кому не жалко.
Re[10]: ActiveX и Word.
От: Аноним  
Дата: 02.08.01 08:37
Оценка:
А ведь должен собака(мать его Word) сохранять, сам видел на других контролах ?
Уже не знаю чего и придумать.
Re[11]: ActiveX и Word.
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 02.08.01 12:53
Оценка:
Здравствуйте Аноним, вы писали:

А>А ведь должен собака(мать его Word) сохранять, сам видел на других контролах ?

А>Уже не знаю чего и придумать.

У меня сохраняет (и читает :)
правда, не всё так как в книжках...
------------------------------------------------
наследование, среди прочего:

public IPersistStreamInitImpl<CXXX>,
public IPersistStorageImpl<CXXX>,

Ком-карта, среди прочего:

COM_INTERFACE_ENTRY(IPersistStreamInit)
COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
COM_INTERFACE_ENTRY(IPersistStorage)


Карта свойств:

BEGIN_PROP_MAP(CXXX)
PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
END_PROP_MAP()

И БОЛЬШЕ НИЧЕГО!!!!!! Даже предопределенные DISPID вырезал :(...

для сохранения дополнительных свойств переопределял InitNew(), Save(), Load()

STDMETHOD(InitNew)()
{
HRESULT hr =
IPersistStreamInitImpl<CAXWControl2>::InitNew();
if(SUCCEEDED(hr))
{
m_bstrMyText = _T("LALALA");
}
return hr;
}

STDMETHOD(Load)(LPSTREAM pStm)
{
HRESULT hr;
hr = IPersistStreamInitImpl<CAXWControl2>::Load(pStm); /// <ССЫЛКА 1>
if(SUCCEEDED(hr))
{
hr = m_bstrMyText.ReadFromStream(pStm);
}
return hr;
}

STDMETHOD(Save)(LPSTREAM pStm, BOOL fClearDirty)
{
HRESULT hr;
hr = IPersistStreamInitImpl<CAXWControl2>::Save(pStm, fClearDirty);
if(SUCCEEDED(hr))
{
hr = m_bstrMyText.WriteToStream(pStm);
if(SUCCEEDED(hr) && fClearDirty)
SetDirty(FALSE);

}
return hr;
}

PS
Коберниченко переопределяет эти методы для сохранения строк
но если в карте свойств есть дополнительные entries, то у меня(ну не знаю...) после позиции <ССЫЛКА 1> hr (при работе с word'ом, м.б.) вовсе и FAILED со всеми вытекающими...(при работе с word'ом, м.б.)
- А Вы что курите?
— Минздрав предупреждает
Re[9]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.08.01 16:32
Оценка:
Здравствуйте Аноним, вы писали:

А>Да вставлял я вчера

А> COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStreamInit)
А>но только убрал потому что нет эффекта.

А зря некоторые функции загрузки состояния умеют работать только с IPersistStream.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.08.01 16:34
Оценка:
Здравствуйте Ростислав Глухов, вы писали:

Не, ну эта "рукопашнина" уже перебор. Ладно пойду попробую сам...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: ActiveX и Word.
От: Аноним  
Дата: 03.08.01 09:40
Оценка:
Да ребята это все хорошо, но у меня метод Save вообще не вызывается.

Вернее он вызывается, но только при открытии документа *.doc, в следующей
последовательности:

IPersistStreamInitImpl::Load()
IPersistPropertyBagImpl::Save()
IPersistStorageImpl::Save()
IPersistStreamInitImpl::Save()

При сохранении же измененного документа ни Save ни Load не вызываются.
Вот такие пироги с котятами ...

А VB кстати вызывает IPersistPropertyBagImpl::Save() при нажатии
на кнопку "Сохранить", а при "Remove Project" вызывает
IPersistStreamInitImpl::Save().

Подозрение опять таки на карту интерфейсов, но я включил в нее уже все
что можно:

BEGIN_COM_MAP(CActiveBC)
.......
COM_INTERFACE_ENTRY(IPersistStreamInit)
COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
COM_INTERFACE_ENTRY(IPersistStorage)
COM_INTERFACE_ENTRY(IPersistPropertyBag)
COM_INTERFACE_ENTRY2(IPersistStream, IPersistStreamInit)
.......
END_COM_MAP()
Re[14]: ActiveX и Word.
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 03.08.01 10:25
Оценка:
Здравствуйте Аноним, вы писали:

А>Да ребята это все хорошо, но у меня метод Save вообще не вызывается.


А>Вернее он вызывается, но только при открытии документа *.doc, в следующей

А>последовательности:

А>IPersistStreamInitImpl::Load()

А>IPersistPropertyBagImpl::Save()
А>IPersistStorageImpl::Save()
А>IPersistStreamInitImpl::Save()

А>При сохранении же измененного документа ни Save ни Load не вызываются.


При открытии документа Word
— создает временный файл
— сохраняет старую копию
— сохраняет новую копию

при нажатии на кнопку с дискетой он [просто] этот временный файл переименовывает в настоящий

А>Вот такие пироги с котятами ...


А>А VB кстати вызывает IPersistPropertyBagImpl::Save() при нажатии

А>на кнопку "Сохранить", а при "Remove Project" вызывает
А>IPersistStreamInitImpl::Save().

VB хранит designtime свойства control'а в текстовом формате (посмотрите *.frm), поэтому использует(старается :) PropertyBag
Word хранит [вроде бы] в бинарном, поэтому достаточно PersistStream

А>Подозрение опять таки на карту интерфейсов, но я включил в нее уже все

А>что можно:

А>BEGIN_COM_MAP(CActiveBC)

А> .......
А> COM_INTERFACE_ENTRY(IPersistStreamInit)
А> COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
А> COM_INTERFACE_ENTRY(IPersistStorage)
А> COM_INTERFACE_ENTRY(IPersistPropertyBag)
А> COM_INTERFACE_ENTRY2(IPersistStream, IPersistStreamInit)
А> .......
А>END_COM_MAP()
Карта нормальная
- А Вы что курите?
— Минздрав предупреждает
Re[15]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.08.01 15:52
Оценка:
Здравствуйте Ростислав Глухов, вы писали:

А>>BEGIN_COM_MAP(CActiveBC)

А>> .......
А>> COM_INTERFACE_ENTRY(IPersistStreamInit)
А>> COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
А>> COM_INTERFACE_ENTRY(IPersistStorage)
А>> COM_INTERFACE_ENTRY(IPersistPropertyBag)
А>> COM_INTERFACE_ENTRY2(IPersistStream, IPersistStreamInit)
А>> .......
А>>END_COM_MAP()
РГ>Карта нормальная

Нет. Карта кривая, но к делу это не отностся.
COM_INTERFACE_ENTRY2 — не надо применять к IPersistStream. 3-я версия ATL-а кривая и допускает такое несоответствие. В VC 7 (7-ом ATL-е) это перестанет работать. Дело в том,что IPersistStreamInit не унаследован от IPersistStream, а просто похож. По этому нужно испльзовать COM_INTERFACE_ENTRY_IID.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.08.01 20:51
Оценка:
Здравствуйте VladD2, вы писали:

Слушай Аноним а ты не мог бы ради хохмы зарегистрироваться? А то даже не понятно как тебя называть. :)

Вот только что посмотрел... Действительно глючит. Но дело не в том, что когото не вызывают, а в том что у козлов из MS нехватает времени, чтобы почитать собственные специвикации!

Вызывается IPersistStreamInit в лучшем виде. И на записи все проходит, а при чтении эти критины подсовывают какойто свой диспачь. Причем они заменяют диспачь контрола. :( В этом диспаче нет наших DISPID... вот и происходит вылет. Кстати, мог бы и сам залезть в ATL-ныйе исходники...

Короче, выхода два: или делать тлько дата_энтрай (проходит если все донные которые надо сохранять простых типов (не строки и т.п.), или писать ручками как говорил Ростислав.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: ActiveX и Word.
От: Dima2  
Дата: 04.08.01 06:55
Оценка:
Здравствуйте VladD2, вы писали:

VD>Слушай Аноним а ты не мог бы ради хохмы зарегистрироваться? А то даже не понятно как тебя называть. :)


Ну разве только ради хохмы. Тяжело применять 20..30 разных паролей:)

VD>Вот только что посмотрел... Действительно глючит. Но дело не в том, что когото не вызывают, а в том что у козлов из MS нехватает времени, чтобы почитать собственные специвикации!


VD>Вызывается IPersistStreamInit в лучшем виде. И на записи все проходит, а при чтении эти критины подсовывают какойто свой диспачь. Причем они заменяют диспачь контрола. :( В этом диспаче нет наших DISPID... вот и происходит вылет. Кстати, мог бы и сам залезть в ATL-ныйе исходники...


Где подсовывают в Load ?

Да залазил я. В Save все красиво. Сырые данные (DATA_ENTRY) пишутся сразу в
stream, остальные св-ва через IDispatch вытаскиваются в CComVariant и
тоже пишутся.

Load особо не смотрел.

VD>Короче, выхода два: или делать тлько дата_энтрай (проходит если все донные которые надо сохранять простых типов (не строки и т.п.), или писать ручками как говорил Ростислав.


Да ручками гораздо проще, чем разбираться в ихних исходниках. Да я сразу и
начал то ручками.
Но вот была проблема, что не вызывается Save, сегодня постараюсь освежить это
все в памяти напишу подробнее.
Re[18]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.08.01 09:16
Оценка:
Здравствуйте Dima2, вы писали:

D>Здравствуйте VladD2, вы писали:


VD>>Слушай Аноним а ты не мог бы ради хохмы зарегистрироваться? А то даже не понятно как тебя называть. :)


D>Ну разве только ради хохмы. Тяжело применять 20..30 разных паролей:)


Там есть галочка "Запомнить меня". Нажал и забыл. Кстати сам то зарегистрировался!

А про остольное ... ну слова, слова если кому интересно могу выслать исходники, провда они по большей части авто-генеренные.


PS

D>Да ручками гораздо проще, чем разбираться в ихних исходниках. Да я сразу и начал то ручками.


Да, ... ну что тут скажешь... проффесиональный взгляд...

Поспорили как то Американцы и Русские у кого армия ленивей...
Построили взвод американцев.
Командуют — "Ленивым выйти из строя".
Ну, все, кроме одног, сделали шаг в перед.
Построили взвод русских.
Командуют — "Ленивым выйти из строя".
Все стоят.
Командит орет
— Еще раз повторяю, ленивым выйти из строя.
Все стоят.
Командир взмаливается.
Иванов ну ты, что себя ленивым не считаеш?
Ну, считаю тов.ком., что же теперь из-за этого в такую даль переться?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: ActiveX и Word.
От: Dima2  
Дата: 07.08.01 15:20
Оценка:
Здравствуйте VladD2, вы писали:

VD>А про остольное ... ну слова, слова если кому интересно могу выслать исходники, провда они по большей части авто-генеренные.


Вышли если не тяжело, dima@sbarcode.com
Re[20]: ActiveX и Word.
От: Dima2  
Дата: 08.08.01 19:25
Оценка:
Ну вроде поборол эту заразу.

Ф-я Save все-таки не вызывалась, т.к. IsDirty возвращал E_FAIL (не надо сохранять данные). После изменения своих св-в вручную вызываю
SetDirty(TRUE) или можно m_bRequiresSave = 1;. Может кто-то автоматом
должен вызывать SetDirty() ?

Сохранение св-в делаю руками, т.к. при загрузке и сохранении данных
действительно вылазит какой-то непонятный IDispatch, хотя откуда он
берется ?

Карта св-в сохраняется нормально только для "сырых" св-в (PROP_DATA_ENTRY),
если же св-во необходимо получать через IDispatch (PROP_ENTRY), то ошибка.

PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
// PROP_ENTRY("AlignText", 1, CLSID_NULL)


Да конечно сохранение руками немного некрасиво и объемно по тексту
..........
hr = var.ReadFromStream(pStm);
put_ShowText(var.boolVal);

hr = var.ReadFromStream(pStm);
put_CalcCheck(var.boolVal);
..........

Может кто знает чего вылазит странный IDispatch в Load и Save ?
Я пробовал сам получить IDispatch внутри своего компонента, тоже
вылазит чужой, если получаю IDispatch из другой программы, то
все в порядке ???
Re[21]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.08.01 22:11
Оценка:
Здравствуйте Dima2, вы писали:

D>Ну вроде поборол эту заразу.


D>Ф-я Save все-таки не вызывалась, т.к. IsDirty возвращал E_FAIL (не надо сохранять данные). После изменения своих св-в вручную вызываю

D>SetDirty(TRUE) или можно m_bRequiresSave = 1;. Может кто-то автоматом
D>должен вызывать SetDirty() ?

SetDirty(TRUE);
Будет культурнее, чем "m_bRequiresSave = 1" и ни когда не повредит.

D>Может кто знает чего вылазит странный IDispatch в Load и Save ?

D>Я пробовал сам получить IDispatch внутри своего компонента, тоже
D>вылазит чужой, если получаю IDispatch из другой программы, то
D>все в порядке ???

Ну, нормальные Ax-контейнеры должны подменять диспач для реализации таких свойств как:
Name, Left, Top...

Но при встраивании контролов непосредственно в документ в MS лажанулись. Видима агрегируют криво. В том же Ворде, но в формах все (вроде) нормально.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: ActiveX и Word.
От: Dima2  
Дата: 16.12.01 21:29
Оценка:
Здравствуйте Dima2, Вы писали:

D>Ну вроде поборол эту заразу.


D>Ф-я Save все-таки не вызывалась, т.к. IsDirty возвращал E_FAIL (не надо сохранять данные). После изменения своих св-в вручную вызываю

D>SetDirty(TRUE) или можно m_bRequiresSave = 1;. Может кто-то автоматом
D>должен вызывать SetDirty() ?

D>Сохранение св-в делаю руками, т.к. при загрузке и сохранении данных

D>действительно вылазит какой-то непонятный IDispatch, хотя откуда он
D>берется ?

D>Карта св-в сохраняется нормально только для "сырых" св-в (PROP_DATA_ENTRY),

D>если же св-во необходимо получать через IDispatch (PROP_ENTRY), то ошибка.

D> PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)

D> PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
D>// PROP_ENTRY("AlignText", 1, CLSID_NULL)


D>Да конечно сохранение руками немного некрасиво и объемно по тексту

D> ..........
D> hr = var.ReadFromStream(pStm);
D> put_ShowText(var.boolVal);

D> hr = var.ReadFromStream(pStm);

D> put_CalcCheck(var.boolVal);
D> ..........

D>Может кто знает чего вылазит странный IDispatch в Load и Save ?

D>Я пробовал сам получить IDispatch внутри своего компонента, тоже
D>вылазит чужой, если получаю IDispatch из другой программы, то
D>все в порядке ???

Я извиняюсь что возвращаюсь к своим старым баранам, но в MSDN нашел
другое решение этой проблемы. Если кому интересно:
PRB: ATL Control Properties Do Not Persist when Embedded in Word
ID: Q241936

Оказалось дейсвительно WORD подсовывает другой IDispatch. Все
контролы Word заворачивает еще в свои обертки и при QueryInterface
подсовывает IDispatch обертки, а не контрола.
Кстати в Word(XP) такого нет.

А вообще грустно все это. Чем больше работаю с ActiveX, тем
больше разочаровываюсь, и прихожу к выводу что чтобы заставить
работать контрол так как задумано надо самому написать контейнер
к нему
Сейчас появились проблемы с 1С — Не показывается окно св-в контрола,
хотя 1С фокус теряет
Re[22]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.12.01 21:36
Оценка:
Здравствуйте Dima2, Вы писали:

D>Я извиняюсь что возвращаюсь к своим старым баранам, но в MSDN нашел

D>другое решение этой проблемы.

Зря ты извиниешся. Так и нужно поступать. Нашол решение сам... раскажи о этом другим.

D>Кстати в Word(XP) такого нет.


Интересно, а как они подсовывают расширенные свойства? Не угробили ли они что нибудь другое исправляя эту ошибку?

D>А вообще грустно все это. Чем больше работаю с ActiveX, тем

D>больше разочаровываюсь, и прихожу к выводу что чтобы заставить
D>работать контрол так как задумано надо самому написать контейнер
D>к нему

Когда "самом напишеш контейнер", то загрустишь еще больше. Поверь, мы это уже сделали.

D>Сейчас появились проблемы с 1С — Не показывается окно св-в контрола,

D>хотя 1С фокус теряет

А что за всерь "окно св-в контрола"? Страницы свойств что ли?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: ActiveX и Word.
От: Dima2  
Дата: 17.12.01 07:40
Оценка:
Здравствуйте VladD2, Вы писали:

D>>Сейчас появились проблемы с 1С — Не показывается окно св-в контрола,

D>>хотя 1С фокус теряет

VD>А что за всерь "окно св-в контрола"? Страницы свойств что ли?


Да.
Кстати до OnInitDialog ни одной из страниц дело не доходит.
Не знаю как подступиться, чтобы понять где затыкается.
Может вынести в отдельную тему ActiveX и 1С
Re[24]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.01 19:58
Оценка:
Здравствуйте Dima2, Вы писали:

D>>>Сейчас появились проблемы с 1С — Не показывается окно св-в контрола,

D>>>хотя 1С фокус теряет

VD>>А что за всерь "окно св-в контрола"? Страницы свойств что ли?


D>Да.

D>Кстати до OnInitDialog ни одной из страниц дело не доходит.
D>Не знаю как подступиться, чтобы понять где затыкается.
D>Может вынести в отдельную тему ActiveX и 1С

Тогда нужно смотреть как 1С пытается запросить у тебя информацию о "Страницах свойств".

PS

А он вообще умеет показывать Страницы свойств (ну, у других контролов)?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.