|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Регистрация com-объекта через командную строку
Нужно зарегистрировать com объект через командную строку,сom объект выполнен в виде exe файла,если бы это был dll то через команду regsvr32 можно зарегистрировать компонент в системе,а как exe файл регистрируется в системе,через delphi (run-activex register не подходит),причем на delphi7 все работает,а на xe2 нет
|
#2
|
||||
|
||||
посмотри что пишется в реестр Delphi 7 и найди отличия от XE2.
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
посмотрела как и куда записываются гуиды у com сервера http://blog.not-a-kernel-guy.com/2007/04/18/173 не помогло
проблема в том что он должен автоматически регистрироваться через командную строку вот код procedure ServerRegister; var stGUID: string; begin try CoInitialize(nil); stGUID := GUIDToString(CLASS_SferaAppServer); with TRegistry.Create do try RootKey := HKEY_CLASSES_ROOT; if not OpenKey('\CLSID\' + stGUID, True) then exit; WriteString('AppID', stGUID); CloseKey; if not OpenKey('\AppID\' + stGUID, True) then exit; WriteString('', 'Sfera Application Server'); WriteString('RunAs', 'Interactive User'); CloseKey; finally Free; end; if CreateComponentCategory(ID_SFERACAT , 'OPC Daten Server V2.0') <> 0 then exit; if RegisterCLSIDInCategory(CLASS_Sfera AppServer, ID_SFERACAT) <> 0 then exit; ToLog('Регистрация сервера выполнена'); MessageBox(0, 'Регистрация сервера выполнена', 'Sfera Application Server', 0); except ErrorHandler(Exception(ExceptObject ).Message, 'ServerRegister'); end; end; вот почему он на xe2 не работает загадка,и реестр я уже изрядно засрала поэтому посмотреть что он записывает проблемно,unregister не удаляет раннее созданные в ветке записи о гуидах com объекта |
#4
|
||||
|
||||
Цитата:
Пишу программы за еду. __________________ |