Я пишу MS Excel COM-Addin в Delphi 2006. У меня установлен Excel 2007 на моей машине разработки.
Я запустил проект как библиотеку ActiveX, а затем добавил объект автоматизации изМеню проекта Delphi ActiveX.
В моем объекте автоматизации я определил интерфейс IDTExtensibility2 как
IDTExtensibility2 = interface(IDispatch)
['{32E456FC-C710-43AA-9ACA-DDE8F132B91B}']
function OnAddinsUpdate(var w_Custom: OleVariant): HResult; stdcall;
function OnBeginShutDown(var w_Custom: OleVariant): HResult; stdcall;
function OnConnection(const w_Application: IDispatch; w_ConnectMode: Integer;
const w_AddInInst: IDispatch; var w_Custom: OleVariant): HResult; stdcall;
function OnDisconnection(w_DisconnectMode: Integer; var w_Custom: OleVariant): HResult; stdcall;
function OnStartupComplete(var w_Custom: OleVariant): HResult; stdcall;
end;
и реализовал интерфейс в классе, производном от TAutoObject.
В разделе инициализации модуляЯ называю
TAutoObjectFactory.Create(ComServer, TPBSExcelAddin, Class_PBSExcelAddin, ciSingleInstance, tmApartment);
com, объект отлично регистрируется и отображается в опциях Excel Addin, однако он будет установлен в Excel.Я просто получаю сообщение об ошибке «Не загружен. Произошла ошибка во время загрузки COM-надстройки»
Может кто-нибудь увидеть проблемы с моим интерфейсом?или как я создаю ком объект?Есть ли способ отладить это?
Спасибо