IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Appel dll C# via VBScript [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Appel dll C# via VBScript
    Salut à tous,
    Je dois porter des dll delphi en C#.
    Ces DLL étaient testées via des VBScripts
    J'ai crée ma DLL, si dans ma solution sous VS, je crée un Form en mettant ma DLL en référence, je sais tester la réponse mais je ne trouve/arrive pas à faire ce qu'en delphi6 était repertorié sous "Register ActiveX Server"

    voici le code de la dll de test que j'ai essayé de faire pour commencer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace FirstDLL
    {
        public class MyFirstDLL
        {
            public static long Add(long i, long j)
            {
                return (i + j);
            }
     
        }
    }
    Le script VBS utilisé pour la DLL delphi etait le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    set obj = createobject("FirstDLL.MyFirstDLL")
    call obj.Add(8,2)
    msgbox "ok"
    mais avec la dll C#, ca plante en me mettant ce message
    ActiveX component can't create object : "FirstDLL.MyFirstDLL"
    je pense que le soucis viens du fait que ma dll n'est pas "enregistrée".
    Est ce que qqun pourrait me dire comment résoudre ce bête problème.
    D'avance Merci
    Christophe

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Déjà tes composants ont il été créés comme composant ActiveX ?
    Par défaut, les composants créés avec .net ne sont pas des ActiveX.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    En fait j'ai crée un nouveau projet de cette facon: "File=>NEW=>Project...=>Visual C#=>Windows=>Class Library"
    C'est le seul truc que j'ai trouvé pour créer une DLL au final.
    Par contre, aucune idée de comment lui dire que je veux créer un ActiveX, un objet COM+ ou autre joyeuseté du genre

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Y'a un moyen de lui dire de créer un composant COM, mais j'avoue que j'ignore lequel (n'utilisant plus cette techno depuis très très longtemps).

    Chercher sur google avec Create COM Component with .Net

    Lien trouvé :
    http://blog.stevedoria.net/20051008/...csharp-dot-net

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Bon ok, j'ai fini par trouver ce qui me manquait et effectivement c'etait presque rien mais faut tomber dessus :-D
    En fait, il fallait
    1) Selectionner le projet
    2) Aller dans ses propriétés
    3) Dans l'onglet "APPLICATION", cliquer sur le bouton "Assembly information..."
    4) Cocher la case "Make assembly com-visible"
    Et la comme par magie tout fonctionne :-D
    Merci pour les conseils en tout cas
    A++
    Christophe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appel DLL C++ en Delphi (pb avec type)
    Par fkerbourch dans le forum Langage
    Réponses: 7
    Dernier message: 11/07/2005, 17h31
  2. [MFC]ActiveX + appel DLL
    Par Xeron dans le forum MFC
    Réponses: 4
    Dernier message: 22/06/2005, 16h39
  3. Appel de fonction en VBScript
    Par aronnax dans le forum ASP
    Réponses: 5
    Dernier message: 25/03/2005, 10h05
  4. [Oracle 9i + Portal] pb d'appel de proc. via le Web
    Par rebolon dans le forum Oracle
    Réponses: 5
    Dernier message: 19/08/2004, 16h29
  5. Réponses: 8
    Dernier message: 13/08/2004, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo