Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли как-нибудь узнать результат выполнения [D5]


Ega23 ©   (2006-12-11 10:10:00) 

RegSvr32?
Есть программка, регистрирующая по заданному списку dll с СОМ-объектами. Там всё довольно тупо:
 
 CurrDir := ExtractFileDir(ParamStr(0));
 for i := 0 to DllList.Count - 1 do
   WinExec(PChar('regsvr32 ' + CurrDir + DllList.Strings[i]), SW_SHOW);


DllList : TStringList.

Так вот, можно-ли узнать результат того, что в WinExec на клиенте?


umbra   (2006-12-11 11:07:00) [1]

однозначно определить результат регистрации сервера можно лишь попытавшись создать его экземпляр. Выяснить, сколько раз там регистрировалась библиотека невозможно (если, конечно, библиотека сама при регистрации не пишет подобные данные куда-нибудь)


BiN   (2006-12-11 11:04:00) [2]


> Ega23 ©   (11.12.06 10:59) [6]


Может поможет RegisterComServer из ComObj(?)


Ega23   (2006-12-11 10:59:00) [3]


> написание своего regsvr32 сводится к вызову  DllRegisterServer/
> DllUnregisterServer.


Да ну, так просто?
Ну спасибо, побежал писАть, вопрос снят...  :о)


BiN   (2006-12-11 10:50:00) [4]


> Ega23 ©   (11.12.06 10:41) [3]
>
> Имеется ввиду - зарегистрировался СОМ-объект, или нет.

написание своего regsvr32 сводится к вызову  DllRegisterServer/ DllUnregisterServer.


Ega23   (2006-12-11 10:42:00) [5]


> в реестре можно поискать GUID или ProgId.


Не выход, могла быть попытка перерегистрации.


Ega23   (2006-12-11 10:41:00) [6]


> Под "результатом" имеется ввиду код завершения процесса?


Имеется ввиду - зарегистрировался СОМ-объект, или нет.


umbra   (2006-12-11 10:22:00) [7]

в реестре можно поискать GUID или ProgId.


BiN   (2006-12-11 10:18:00) [8]

Под "результатом" имеется ввиду код завершения процесса? В этом случае нужно вместо WinExec использовать ShellExecuteEx или CreateProcess.


Наверх

Титульная страница Поиск, карта сайта Написать письмо