Créer un objet COM en C# réutilisable dans Navision

1.Introduction

Il arrive parfois que certaines fonctions ne sont pas disponibles directement dans le fonctions de base d’un logiciel, nous pouvons dès lors créer cette fonctionnalité à l’aide d’un objet COM que nous appelerons dans notre logiciel

2.Pré-requis

1. Connaissance du langage objet commme C# ou java

2. Avoir une IDE à disposition comme SharpDevelop, ou pour les inconditionnels de notre tendre ami Bill, Visual Studio

3.Création de l’objet COM

Allez dans votre IDE et créer une nouvelle solution type bibliothèque de classe. Dans votre classe de base ajoute le code ci-dessous:

/*
 * Created by SharpDevelop.
 * User: fbourqui
 * Date: 17.05.2008
 * Time: 07:00
 *  
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
 
using System;
using System.Runtime.InteropServices;
 
namespace test2
{
 
  [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
 
  public interface INavisionTest
 
  {
    int Add2Numbers(int a,int b);
  }
 
 
 
  [ClassInterface(ClassInterfaceType.None)]
 
  public class NavisionTest : INavisionTest
 
  {
    public NavisionTest()
    {
    }
 
    public int Add2Numbers(int a,int b)
 
    {
      return(a+b);
    }
  }
}

Allez dans les propriétés du projets, onglet compilation et cochez l’option enregister pour interopérabilité avec COM

Allez dans le ficher AssemblyInfo.cs et modifier la ligne comme ci-dessous:

[assembly: ComVisible(true)]

Construisez votre solution à l’aide de F8

Allez dans MBS Dynamics, créer une nouvelle variable type automation, et aller chercher votre objet qui porte le nom de votre classe de base