Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Описалово OLE Server-ov.


Автор: Алекс С. 20.8.2002, 21:13
Раз уж пошла такая пьянка, и народ вовсю спрашивает про СОМ, то и мне хотелось бы встрять здесь с вопросом, который уже долго меня мучает.
А именно: есть ли где толковое описание (рус./англ.) OLE серверов Microsoft Office для Дельфи? Все там методы, свойства, примерчики с использованием объектов. Желательно чтобы всё было основано на CreateOleObject, а не объектов на закладке Servers, но и они сойдут на худой конец.
Есть ли такое чтиво в природе, если да, то посоветуйте, пожалуйста, где можно достать (лучше скачать).
Заранее спасибо!

Автор: Fantasist 21.8.2002, 11:13
Большинство из них, ты можешь почерпнуть из хелпа по VBA к соответсвующим продуктам. И нельзя сказать что для Делфи, они для всех языков одни и те же.

 Да. И в конце концов в MSDN должны быть.

Автор: Dapo 21.8.2002, 12:17
Ну раз уж пьянка пошла, тогда советую изучать эти ОЛЕ сервера через TLB (библиотеки типов). Для этого: Project-->Import Type Library --> дальше, из списка зарегистрированных оле-серверов выбираешь нужный тебе. Ниже появится список компонентов описание которых этот юнит содержит. Если эти компоненты в твоем VCL уже есть, то сними флажок Generate Component Wrapper (если такого компонента нету, то все равно можешь снять флажок). Потом жми на Create unit. И у тебя получиться 2 файла (ххххххххх_TLB.pas и ххххххххх.tlb (собственно сама библиотека)). Потом берешь этот PAS, включаешь в uses, открываешь и смотришь его. Там будут описания всех интерфейсов и их методов. Смотри, пользуйся и без компонентов. Например, есть у тебя группа компонентов на вкладке Servers от носящихся к Word-у. Находишь сервер (зависити от версии, у меня Microsoft Word 9.0 Object Library (version 8.1))? создаешь TLB и вперед!

......
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls,Word_TLB;
......

procedure TForm1.Button1Click(Sender: TObject);
var MyWrd:_Application;
begin
MyWrd:=CoWordApplication.Create;
MyWrd.Visible:=true;
end;

Кстати, TLB создаются не только для "OLE". Уже сам майкрософт не делает принципиального различия между ОЛЕ, COM|DCOM, ActiveX.

Автор: Fantasist 21.8.2002, 15:30
Цитата
Ну раз уж пьянка пошла, тогда советую изучать эти ОЛЕ сервера через TLB (библиотеки типов).


Эх, ну а почему тогда не через компоненты на вкладке Servers? Через библиотеки не так удобно. А хелпа там вообще нет.

Цитата
Кстати, TLB создаются не только для "OLE". Уже сам майкрософт не делает принципиального различия между ОЛЕ, COM|DCOM, ActiveX.



Библиотки типов создаются для COM объектов. COM же это скорее стандарт - базовая инфраструктура, на которой строятся такие технологии как OLE, Automatation, OCX и т.п. ActiveX, сейчас насколько я понял, называют внутрипроцессорные COM объекты. OLE вроде как оставляет за собой право быть технологией составных документов (то есть встраевымых (и не знаю как насчет подключаемых) объектов)

Автор: Dapo 21.8.2002, 20:00
Цитата(Fantasist @ 21.8.2002, 08:30)
Цитата
Ну раз уж пьянка пошла, тогда советую изучать эти ОЛЕ сервера через TLB (библиотеки типов).


Эх, ну а почему тогда не через компоненты на вкладке Servers? Через библиотеки не так удобно. А хелпа там вообще нет.

А потому, что во вкладке Servers перечислены далеко не все существующие сервера (как говорится - зри в корень). Word был просто как пример. :) Кроме того, уж не знаю почему, но используя TLB прога работает быстрее (не на много, но факт).

Автор: Fantasist 22.8.2002, 02:14
Вообще-то компоненты на закладке Servers построены имено на импорте библиотек типов + компоненты-враперы. То есть накладные расходы могут быть только из-за использования компонент, в принципе, они не должны быть очень большими.

Автор: Igel 29.8.2002, 18:44
У меня возникла не просто проблема, а глобальное непонимание... Я сделал из TLB-файла модуль... как дальше работать с объектами (интерфейсами) не знаю!! Просвятите!!
Может инфа или ссылки у кого есть...

Автор: Vit 29.8.2002, 23:29
Цитата(Igel @ 29.8.2002, 02:44)
глобальное непонимание...

http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=2;t=167

Автор: Алекс С. 30.8.2002, 19:02
Вообще я лошок ленивый, сознаюсь откровенно и готов посыпать голову пеплом -- просто поленился в гугле поискать требуемое. Так что вот несколько очень содержательных ресурсов, на которые я напоролся. Надеюсь поможет всем заинтересованным, т.к. рассчитано на начинающих, но есть и "пикантные" детали. Вот...
http://community.borland.com/article/0,1410,10126,00.html
http://www.slo.ru/programming/del_excel.htm
http://www.delphikingdom.com/helloworld/excel.htm
http://www.delphikingdom.com/helloworld/excel2.htm
http://www.delphikingdom.com/helloworld/excel3.htm
http://vzone.virgin.net/graham.marshall/excel.htm
http://www.djpate.freeserve.co.uk/AutoExcl.htm
http://community.borland.com/article/0,1410,10043,00.html
Если кто нашёл ещё что-нибудь интересное по теме, большая просьба тоже поделиться!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)