Собственный OLE-сервер "на месте активации" - PullRequest
1 голос
/ 19 октября 2010

Я просто хочу создать свой собственный OLE-сервер, который поддерживает активацию на месте.
например В TOlecontrol мы можем сделать следующее:

OleContainer1.CreateObject('WORD.Document',FALSE);

Это нормально. Документ Word встраивается в основную форму заявки. Но когда я попробовал:

OleContainer1.CreateObject('Server.MyOleServer',FALSE);

MyOleServer всегда открывается в новом отдельном «серверном» окне - форма (Я также проверил все значения OleControl1.doVerb() и OleControl1.AllowInPlace := true, но ничего не помогает. "Сервер" - очень простое приложение, оно содержит только одну пустую форму ...)

1 Ответ

0 голосов
/ 01 марта 2011

Вы можете написать компонент VCL и обернуть его как элемент управления ActiveX, и он должен использоваться как элемент управления ole с активацией на месте.

Если вы хотите поведение, подобное элементу управления, не пишитеприложение.Написать элемент управления.Подкласс TPanel, если хотите, и поместите в него все необходимые элементы управления.Теперь оберните его как элемент управления ActiveX.

Еще немного справки по написанию элементов управления ActiveX, которая будет применима также для вставки редактируемых представлений документов OLE:

http://pweb.netcom.com/~cherrman/dl030.htm

...