Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];

Вниз

Снова OLE   Найти похожие ветки 

 
Алексей Петухов   (2006-01-24 19:09) [0]

Здравствуйте, уважаемые Мастера.

 Вот без вашей помощи никак не обойтись.
 Посоветуйте ссылки на статьи в Internet-е где можно про OLE-automation "с нуля" почитать.
 Или может кто примером кода побожет?
 Тогда задачка:
Необходим OLE-сервер содержащий следующие вызовы (из внешнего процесса):

где Document - к примеру форма с кнопкой "Выход".

OLE:=CreateComObject(OLE_SRV_TLB.CLASS_Application)as OLE_SRV_TLB._Application;
...
1. OLE.Documents // как объект
2. OLE.Documents.Count // колличество док-ов
3. i:=OLE.CreateDocument //возвращает №созданного док-та
4. OLE.Documents.items[i].Status //просто например
5. OLE.Documents.items[i].Reliase //освободить память от док-та
6. OLE.Show //деуствует на все Documents
7. OLE.Quit; //выгружает OLEautomation из памяти.


желательно чтобы каждый Document выглядел как отдельная задача.

Заранее благодарю. Алексей.


 
Leonid Troyanovsky ©   (2006-01-24 19:22) [1]


> Алексей Петухов   (24.01.06 19:09)  

>  Или может кто примером кода побожет?


demos\activex\oleauto\autoserv & etc

--
Regards, LVT.


 
Алексей Петухов   (2006-01-24 19:53) [2]

Там прям конкретно по пунктам 1..7?
:-)


 
Ломброзо ©   (2006-01-24 21:59) [3]


> 1. OLE.Documents // как объект
> 2. OLE.Documents.Count // колличество док-ов
> 3. i:=OLE.CreateDocument //возвращает №созданного док-та
> 4. OLE.Documents.items[i].Status //просто например
> 5. OLE.Documents.items[i].Reliase //освободить память от
> док-та
> 6. OLE.Show //деуствует на все Documents
> 7. OLE.Quit; //выгружает OLEautomation из памяти.


1. Открываем MSDN, читаем про IEnumVARIANT. Этот интерфейс является альфой и омегой COM-коллекций. Ваш класс, реализующий свойство Documents, должен расти от IEnumVARIANT
2. См. пункт 1. IEnumVARIANT::get_Count([out, retval] long *value);
3,4,5,6,7 - MSDN: IDispatch, Коклассы, EXE-сервера.


 
Алексей Петухов   (2006-01-25 06:06) [4]

А где зто в Internet-е можно "открыть" ?


 
Набережных С. ©   (2006-01-25 07:01) [5]


> Ломброзо ©   (24.01.06 21:59) [3]


> Ваш класс, реализующий свойство Documents, должен расти
> от IEnumVARIANT

Совершенно не обязательно.


 
Leonid Troyanovsky ©   (2006-01-25 09:29) [6]


> Алексей Петухов   (24.01.06 19:53) [2]
> Там прям конкретно по пунктам 1..7?


Куда уж конкретней. Прямо на дельфи написано.

--
Regards, LVT.


 
Алексей Петухов   (2006-01-25 14:20) [7]

Вопрос в том как реализовать такой OLE-сервер?


 
Leonid Troyanovsky ©   (2006-01-25 14:36) [8]


> Алексей Петухов   (25.01.06 14:20) [7]
> Вопрос в том как реализовать такой OLE-сервер?


Заглянуть таки в пример?

--
Regards, LVT.


 
Алексей Петухов   (2006-01-25 19:54) [9]


> Leonid Troyanovsky ©   (24.01.06 19:22) [1]

Спасибо за намек....
Неверил я, а ты уговорил всетаки :-)

Процес, как говорится пошел.
Пока идет неплохо, ежели что позже с вопросами появлюсь ....

Спасибо


 
Алексей Петухов   (2006-01-26 16:43) [10]

Здравствуйте. Это опять я.

Создал сервер в виде EXE, Single instance, Apartment, события неподдеживаются.
В клиенте запускаю сервер командой CreateComObject.

1. Как сделать так, чтобы при закрытии клиента сервер не закрывался (как вариант свой обработчик)?
2. Как избавиться от вопроса при закрытии экземпляра сервера при имеющихся подключениях (опять-же желательно свой обработчик)?

Заранее благодарю.


 
Алексей Петухов   (2006-01-27 20:18) [11]

Мммммм может уточнить?


 
Алексей Петухов   (2006-02-07 10:51) [12]

вот пытаюсь сделать по примеру AutoServ.
у интерфейса IFRDoc одно свойство - ItemIndex;

 TFRDocument = class(TObject)
   constructor Create;
 private
   FRDoc_:TFRDoc_;
 end;

 TFRDoc = class(TAutoObject, IFRDoc)
 protected
   function Get_ItemIndex: Integer; safecall;
 end;

constructor TFRDocument.Create;
begin
 inherited Create;
 FRDoc_:=TFRDoc_.Create;
- получаю ошибку:  Object factory for class TMyIClass misstng
end;

Что означает эта ошибка и как с этим бороться?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.045 c
2-1139642458
RpO
2006-02-11 10:20
2006.02.26
Подскажите plz как мне считать из одного файла два столбца и кажд


3-1135759898
tytus
2005-12-28 11:51
2006.02.26
Dinamic SQL error -206


3-1135763536
Id
2005-12-28 12:52
2006.02.26
Сверка паролей


3-1135705436
jiny
2005-12-27 20:43
2006.02.26
Линки в поле на другую запись


1-1138349420
MMM_corp
2006-01-27 11:10
2006.02.26
как приобщить мне FreeReport к BDS 2006





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский