ActiveX conrol в RunTime
От: Andre  
Дата: 21.09.01 15:31
Оценка:
Как в RunTime поместить на форму (не используя TOleContainer) ?
Насколько я знаю это в 2-х строчках не опишешь, но хотя бы намекните.

Спасибо.
Re: ActiveX conrol в RunTime
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.09.01 17:56
Оценка:
Здравствуйте Andre, вы писали:

A>Как в RunTime поместить на форму (не используя TOleContainer) ?

A>Насколько я знаю это в 2-х строчках не опишешь, но хотя бы намекните.

А чем TOleControl не угодил. Он конечно кривой, но лучшего в Дельфи попросту нет.

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

Если нужна действительно динамическая загрузка... В TOleControl надо динамически задать информацию о Ax-е. Для этого лучше унаследовать от него класс и в его наследнике перебить некоторые методы. Вызывать методы и подключаться к событиям придется вручную через диспач.

Тонкости уже не помню. Мы это творили еще на 3-4 Дельфе. Главная проблема не в Дельфи, а в знании COM-а и спецификации (особенностях технологии) ActiveX. В общем, если не знаешь C++ и COM-а будет тяжело.

Есть и более простой способ. Но не бесплатный. Наша компания (optim.ru) разработала Ax-контейнер который можно встраивать в свое приложение. При этом он значительно лучше поддерживает спецификацию Ax, чем Дельфи. Его можно встраивать в приложения написанных на разных языках, в том числе и в Дельфи. Там поддерживаются скрипты, персистентность и доступ к компонентам из приложения-контейнера. Короче, гляди сам http://www.optim.ru/Software/rus/ascContainer/asccontainer.asp

Там есть краткий рассказ и возможность скачать полнофункциональную бета версию.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.