我在Delphi 2006中写了一个MS Excel COM-Addin。我在我的开发机器上安装了Excel 2007。Delphi Excel COM-Addin
我将该项目作为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加载项的选项显示出来但它会在Excel中进行安装。我刚刚得到错误“未加载,加载COM Addin时发生错误”
任何人都可以看到我的界面有问题吗?或者我创建COM对象的方式?有没有一种方法来调试呢?
谢谢
我试着做这个回来。很难做到这一点。最终我发现了插件Express,我不能推荐得够高。 –
谢谢大卫。我已经考虑过插件快车,但我宁愿从头开始为我自己的学习做。 –
祝你好运! –