Вниз
Скачать: CL | DM;

Как программно узнать зарегистрирован ли COM объект по имени   Найти похожие ветки 

 
Apachi   (2007-01-11 17:37) [0]

Уважаемые мастера
Как программно узнать зарегистрирован (существует ли) ли COM объект по указанному имени


 
Джо ©   (2007-01-11 17:39) [1]

ProgIDToClassID
CreateComObject


 
tesseract ©   (2007-01-11 17:40) [2]


> Как программно узнать зарегистрирован (существует ли) ли
> COM объект по указанному имени


я думаю имеется в виду OLE.

Очень просто

if CreateOleObject("server.classname")= nil  then неустановлен.


 
Apachi   (2007-01-11 17:47) [3]

to tesseract ©

если я указываю в качестве строки "server.classname" имя ком объекта не зарегистрированного в системе то выдает ошибку "Недопустипая строка с указанием класса"
в try except ее пложить что ли


 
Руссо Партизано   (2007-01-11 17:57) [4]


> Apachi   (11.01.07 17:47) [3]

Именно!

Получится что-то типа этого:

var:
 oApp: OleVariant;
 oDoc: OleVariant;
...
begin
 Result := False;
 try
   oApp := GetActiveOleObject("Word.Application");
 except
   oApp := CreateOleObject("Word.Application");
 end;
 oApp.Documents.Open(FileName);
 oDoc:=oApp.ActiveDocument;
...

не забудь в конце

 oApp.ActiveDocument.Close(wdDoNotSaveChanges, EmptyParam, EmptyParam);
 oApp.Quit(EmptyParam, EmptyParam, EmptyParam);
end;

Усё!


 
tesseract ©   (2007-01-11 18:02) [5]


> Руссо Партизано   (11.01.07 17:57) [4]


Читай внимательнее. Нужно узнать есть ли он в системе.


> в try except ее пложить что ли


Ну в общем да :-)


 
Джо ©   (2007-01-11 18:09) [6]

Так-то оно лучше будет, без эксептов-то ;)

function IsRegistered (const AClassName: string): Boolean;
var
 Dummy: TGuid;
begin
 Result := Succeeded(CLSIDFromProgID (PWideChar(WideString(AClassName)),Dummy))
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.034 c
3-1165383330
Ega23 (from home)
2006-12-06 08:35
2007.03.04
DTS или что-то другое?


15-1171034206
oldman
2007-02-09 18:16
2007.03.04
Пожалуй повторюсь, а то ветка так и затерялась без единого ответа


1-1168412671
zsv
2007-01-10 10:04
2007.03.04
Большие массивы


15-1170447247
Суслик
2007-02-02 23:14
2007.03.04
Запись avi с экрана.


15-1170833004
Alkid
2007-02-07 10:23
2007.03.04
Сёстры Магдалины




   Наверх