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

VB.NET Discussion :

[VB.Net] Comment faire un serveur OLE ?


Sujet :

VB.NET

  1. #1
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut [VB.Net] Comment faire un serveur OLE ?
    Bonjour,

    je commence par vous préciser que je n'ai jamais écris une seule ligne de VB.Net ! J'ai fait il y a longtemps ce que je vous demande par la suite mais en VB6 (sans trop comprendre tous les tenants et aboutissants)

    Voici ce que je veux faire :
    - J'ai un soft qui permet d'ajouter des extensions sous forme de serveur OLE (c'est Rational Rose). A l'époque, je faisais des serveurs OLE avec VB6 ou VJ++.
    - Je voudrais faire une extension, donc un serveur OLE, avec VB.Net en utilisant SharpDevelop 2.1

    Plusieurs questions :

    1- Est-ce possible ?
    2- Comment dire que je veux utiliser les librairies COM de Rational Rose dans le code du serveur OLE ? Y a t-il un ordre particulier à mettre dans mes fichiers de code VB.Net ?
    3- Connaissant l'interface des méthodes que je devais faire en VB6, puis-je en déduire, et comment, l'interface en VB.Net ? Peut-être que c'est pareil d'ailleurs !?
    4- Puis-je me passer du framework .Net pour exécuter mon serveur OLE (.dll) ?

    Merci d'avance

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Précision car j'avance un peu...

    J'ai créé la classe suivante sous SD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Imports System.Runtime.InteropServices
     
    <ComClassAttribute(OleServer.InterfaceId)> _
    Public Class OleServer
    	Public Const InterfaceId As String = "959A6835-4768-4cd5-89BE-7D408C2B86AA" 
    	Public Sub OnActivate(app As RationalRose.IRoseApplication)
    		MsgBox("activate")
    	End Sub
    	Public Function DoSomething() As String
    		Return "coucou"
    	End Function
    End Class
    Dans les options du projet, j'ai coché "Register for COM interop" et mis <assembly: ComVisible(True)> dans le fichier AssemblyInfo.vb de mon projet

    Aucun pb de compilation sauf que lorsque j'exécute regsrv32 OleServer.dll, j'ai le message "OleServer chargé mais le point d'entrée DllRegisterServer est introuvable"

    Connaissez-vous ce problème ? Avez-vous une solution ?

    Merci d'avance

  3. #3
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Bon ben ça y est, j'ai réussi.
    Je ne connaissais pas regasm.exe, qui était donc la solution pour enregistrer la DLL sachant que c'est la CLR qui fait office de serveur OLE et qui redirige les appels vers ma DLL (c'est ce que j'ai compris et même si c'est pas ça, je m'en f...car ça marche)

    Allé, A+

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2006, 07h31
  2. [ADO.Net][VB.Net] Comment faire requête dynamique Access ?
    Par Zinneke dans le forum Accès aux données
    Réponses: 2
    Dernier message: 12/02/2006, 18h09
  3. [CORBA & VB .NET] comment faire et avec quoi ...
    Par zlavock dans le forum CORBA
    Réponses: 1
    Dernier message: 12/01/2005, 09h22
  4. [VB.NET] Comment faire descendre l'ascenseur ?
    Par Elbarto dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/10/2004, 14h49
  5. [VB.NET] Comment faire un appel de fonction ?
    Par Webman dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/05/2004, 10h06

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