我在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,我不能推薦得夠高。 –
謝謝大衛。我已經考慮過插件快車,但我寧願從頭開始爲我自己的學習做。 –
祝你好運! –