Utilisation de C#, VS2005 et .NET 2.0. (XP 32 bits) Il s'agit d'une application Winforms appelée par un addin VBA (.xla) via des bibliothèques Interop. Cette application a été autour pendant un certain temps et fonctionne bien lorsque l'assemblage est compilé et exécuté ailleurs que ma machine dev. Sur Dev il bloque dur (dans le débogueur et juste en cours d'exécution de l'objet) avec "exception non gérée à 0x ... en EXCEL.EXE: 0x ... infraction lecture emplacement 0x ...Violation d'accès à un ajout Excel
Mais voici la partie étrange:
la première méthode dans mon interface fonctionne bien Toutes les autres méthodes écrasent comme ci-dessus est ici une approximation du code:..
[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);
{...}
}
Il semble comme une sorte de chose Registre environnemental chundered peut être le code.? bugs, mais ça marche bien ailleurs
Thx Joe! Code Cleaner a fait l'affaire. –