2017-09-05 88 views
1

我正在使用C++爲excel生成xll插件,在xlw的幫助下。它的工作原理我的電腦和一些用戶的罰款,但在其他一些用戶,當我拖動XLL到一個新的Excel窗口,錯誤出現:奇怪的excel xll插件錯誤

文件你試圖打開,「my_plug_in。 xll',與文件擴展名指定的文件名不同。在打開文件之前,驗證文件是否爲 未損壞且來自可信來源。 你想現在打開文件嗎?

如果單擊是,Excel將打開XLL作爲顯示類似的文本文件

「MZÿÿ¸@Í!禮!此程序無法在DOS模式下運行。」

在第一行。這不是預期的。

可能是什麼原因?操作系統都是Windows 7 professional,64位,excel都是Excel 2010(32位)。

+0

缺少外部DLL或運行時DLL?你用MT旗子建造了嗎?你可以檢查與DLL依賴?你還需要一個用於excel 32位的x86 xll和用於excel 64位的x64 xll。 – Malick

+0

想象出我是在MT下建立的,但是錯誤地與在MD中使用的lib相關聯。但爲什麼有些用戶可以使用它一些不能? – athos

+1

好吧,我認爲,對於工作的用戶來說,他們必須安裝另一個軟件的lib。 – Malick

回答

1

總之,錯誤代碼:「此程序無法在DOS模式下運行」通常涉及以下問題之一:

  • 的XLL是建立與/ MD國旗,但最終用戶做沒有所需的CRT dll。
  • 錯誤的xll體系結構(例如:x64 xll for Excel 32位)。
  • 缺少外部DLL。
  • 已使用/ MD標誌構建的外部DLL。在這種情況下,如果最終用戶擁有正確版本的CRT(用於構建此外部DLL的版本),那麼就沒有問題了。否則,它將無法正常工作。我認爲這是你的情況。我強烈建議您使用/ MT標誌重建您的外部DLL(如果可能),或者更好地將您的xll與第三方組件的靜態 .lib文件直接鏈接。