使用c#,VS2005和.NET 2.0。 (XP 32位)這是一個Winforms應用程序,可通過Interop庫通過VBA插件(.xla)調用。這個應用程序已經存在了一段時間,並且在彙編程序編譯並在我的開發機器以外的任何地方執行時工作正常。在開發它崩潰硬(在調試器,只是運行對象)與「未處理的異常在0x ...在EXCEL.EXE:0x ...違反讀取位置0x ...Excel Addin訪問衝突
但這裏是奇怪的部分:
在我的接口第一種方法能正常工作的所有其他方法崩潰如上下面是代碼的近似值:。
[Guid("123Fooetc...")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IBar
{
[DispId(1)]
void ThisOneWorksFine(Excel.Workbook ActiveWorkBook);
[DispId(2)]
string Crash1(Excel.Workbook ActiveWorkBook);
[DispId(3)]
int Crash2(Excel.Workbook activeWorkBook, Excel.Range target, string someStr);
}
[Guid("345Fooetc..")]
[ClassInterface(ClassInterfaceType.None)]
[ProgId("MyNameSpace.MyClass")]
public class MyClass : IBar
{
public void ThisOneWorksFine(Excel.Workbook ActiveWorkBook)
{...}
string Crash1(Excel.Workbook ActiveWorkBook);
{...}
int Crash2(Excel.Workbook activeWorkBook, Excel.Range target, string someStr);
{...}
}
這似乎是某種環境的東西登記chundered可能是代碼?但它在其他地方很好。
Thx Joe! Code Cleaner做了訣竅。 – 2008-09-29 21:02:43