begin process at 2010 02 10 00:59:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

ActiveX

 > 

Créer l'équivalent d'une dll Activex, utilisable dans une page Asp avec Visual Basic 2005


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Créer l'équivalent d'une dll Activex, utilisable dans une page Asp avec Visual Basic 2005

mercredi 15 mars 2006 à 09:18:35 | Créer l'équivalent d'une dll Activex, utilisable dans une page Asp avec Visual Basic 2005

lelostecloic

Hello tout le monde !

Voilà mon problème :
J'ai besoin de créer une dll qui puisse être appelée dans un page Asp (en faisant un Server.createObject) à l'aide de Visual Basic 2005 Express

Cette dll, utilise elle-même une dll contenant des fonctions de codage de trame (il s'agit de la dll payboxppps.dll, pour ceux qui connaissent)
J'ai donc créé une dll contenant une structure de trame ainsi qu'une fonction d'appel de codage.

Voici le code de ma dll :

Option Strict Off
Option Explicit On

Imports System.Runtime.InteropServices

<System.Runtime.InteropServices.ProgId("Paybox.Appel")> Public Class Appel
    Inherits System.EnterpriseServices.ServicedComponent

    Private myversion_tc As String
    Private mydateq_tc As String
    Private mytype_tc As String
    Private mynumquestion_tc As String
    ' informations sur le commerçant
    Private mysite_tc As String
    Private myrang_tc As String
    Private mycle_tc As String
    Private myidentifiant_tc As String
    ' informations sur la transction
    Private mymontant_tc As String
    Private mydevise_tc As String
    Private myreference_tc As String
    Private myporteur_tc As String
    Private mydateval_tc As String
    Private mycvv_tc As String
    Private myactivite_tc As String
    Private myarchivage_tc As String
    ' informations sur les opérations précédentes
    Private mynumappel_tc As String
    Private mynumtrans_tc As String
    Private myautorisation_tc As String
    Private mycodereponse_tc As String
    Private mycommentaire_tc As String
    ' informations de communication
    Private myserveurip_tc As String
    Private myserveurport_tc As String


    Private Structure tyTramePPPS
        ' informations générales
        Public VERSION_TC As String
        Public DATEQ_TC As String
        Public TYPE_TC As String
        Public NUMQUESTION_TC As String
        ' informations sur le commerçant
        Public SITE_TC As String
        Public RANG_TC As String
        Public CLE_TC As String
        Public IDENTIFIANT_TC As String
        ' informations sur la transction
        Public MONTANT_TC As String
        Public DEVISE_TC As String
        Public REFERENCE_TC As String
        Public PORTEUR_TC As String
        Public DATEVAL_TC As String
        Public CVV_TC As String
        Public ACTIVITE_TC As String
        Public ARCHIVAGE_TC As String
        ' informations sur les opérations précédentes
        Public NUMAPPEL_TC As String
        Public NUMTRANS_TC As String
        Public AUTORISATION_TC As String
        Public CODEREPONSE_TC As String
        Public COMMENTAIRE_TC As String
        ' informations de communication
        Public SERVEURIP_TC As String
        Public SERVEURPORT_TC As String
    End Structure

    ' Déclaration des fonctions de la librairie PAYBOX
    ' dans cet exemple on utilise une seule fonction de la dll qui est 'appel_ppps'
    Private Declare Function appel_ppps Lib ".\payboxppps.DLL" (ByRef question_st As tyTramePPPS) As Short

    ' Variable d'échange PPPS
    Private tpPaybox As tyTramePPPS

    Public Property VERSION_TC() As String
        Get
            VERSION_TC = myversion_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myversion_tc = VERSION_TC
            Exit Property
        End Set
    End Property

    Public Property DATEQ_TC() As String
        Get
            DATEQ_TC = mydateq_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mydateq_tc = DATEQ_TC
            Exit Property
        End Set
    End Property

    Public Property TYPE_TC() As String
        Get
            TYPE_TC = mytype_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mytype_tc = TYPE_TC
            Exit Property
        End Set
    End Property

    Public Property NUMQUESTION_TC() As String
        Get
            NUMQUESTION_TC = mynumquestion_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mynumquestion_tc = NUMQUESTION_TC
            Exit Property
        End Set
    End Property

    Public Property SITE_TC() As String
        Get
            SITE_TC = mysite_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mysite_tc = SITE_TC
            Exit Property
        End Set
    End Property

    Public Property RANG_TC() As String
        Get
            RANG_TC = myrang_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myrang_tc = RANG_TC
            Exit Property
        End Set
    End Property

    Public Property CLE_TC() As String
        Get
            CLE_TC = mycle_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mycle_tc = CLE_TC
            Exit Property
        End Set
    End Property

    Public Property IDENTIFIANT_TC() As String
        Get
            IDENTIFIANT_TC = myidentifiant_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myidentifiant_tc = IDENTIFIANT_TC
            Exit Property
        End Set
    End Property

    Public Property MONTANT_TC() As String
        Get
            MONTANT_TC = mymontant_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mymontant_tc = MONTANT_TC
            Exit Property
        End Set
    End Property

    Public Property DEVISE_TC() As String
        Get
            DEVISE_TC = mydevise_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mydevise_tc = DEVISE_TC
            Exit Property
        End Set
    End Property

    Public Property REFERENCE_TC() As String
        Get
            REFERENCE_TC = myreference_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myreference_tc = REFERENCE_TC
            Exit Property
        End Set
    End Property

    Public Property PORTEUR_TC() As String
        Get
            PORTEUR_TC = myporteur_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myporteur_tc = PORTEUR_TC
            Exit Property
        End Set
    End Property

    Public Property DATEVAL_TC() As String
        Get
            DATEVAL_TC = mydateval_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mydateval_tc = DATEVAL_TC
            Exit Property
        End Set
    End Property

    Public Property CVV_TC() As String
        Get
            CVV_TC = mycvv_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mycvv_tc = CVV_TC
            Exit Property
        End Set
    End Property

    Public Property ACTIVITE_TC() As String
        Get
            ACTIVITE_TC = myactivite_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myactivite_tc = ACTIVITE_TC
            Exit Property
        End Set
    End Property

    Public Property ARCHIVAGE_TC() As String
        Get
            ARCHIVAGE_TC = myarchivage_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myarchivage_tc = ARCHIVAGE_TC
            Exit Property
        End Set
    End Property

    Public Property NUMAPPEL_TC() As String
        Get
            NUMAPPEL_TC = mynumappel_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mynumappel_tc = NUMAPPEL_TC
            Exit Property
        End Set
    End Property

    Public Property NUMTRANS_TC() As String
        Get
            NUMTRANS_TC = mynumtrans_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mynumtrans_tc = NUMTRANS_TC
            Exit Property
        End Set
    End Property

    Public Property AUTORISATION_TC() As String
        Get
            AUTORISATION_TC = myautorisation_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myautorisation_tc = AUTORISATION_TC
            Exit Property
        End Set
    End Property

    Public Property CODEREPONSE_TC() As String
        Get
            CODEREPONSE_TC = mycodereponse_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mycodereponse_tc = CODEREPONSE_TC
            Exit Property
        End Set
    End Property

    Public Property COMMENTAIRE_TC() As String
        Get
            COMMENTAIRE_TC = mycommentaire_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            mycommentaire_tc = COMMENTAIRE_TC
            Exit Property
        End Set
    End Property

    Public Property SERVEURIP_TC() As String
        Get
            SERVEURIP_TC = myserveurip_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myserveurip_tc = SERVEURIP_TC
            Exit Property
        End Set
    End Property

    Public Property SERVEURPORT_TC() As String
        Get
            SERVEURPORT_TC = myserveurport_tc
            Exit Property
        End Get
        Set(ByVal Value As String)
            myserveurport_tc = SERVEURPORT_TC
            Exit Property
        End Set
    End Property


    'Public Function Appelppps(ByVal VERSION_TC As Variant, DATEQ_TC As Variant, TYPE_TC As Variant, _
    ''NUMQUESTION_TC As Variant, SITE_TC As Variant, RANG_TC As Variant, _
    ''CLE_TC As Variant, IDENTIFIANT_TC As Variant, MONTANT_TC As Variant, _
    ''DEVISE_TC As Variant, REFERENCE_TC As Variant, PORTEUR_TC As Variant, _
    ''DATEVAL_TC As Variant, CVV_TC As Variant, ACTIVITE_TC As Variant, _
    ''ARCHIVAGE_TC As Variant, NUMTRANS_TC As Variant, NUMAPPEL_TC As Variant, _
    ''SERVEURIP_TC As Variant, SERVEURPORT_TC As Variant, AUTORISATION_TC As Variant, _
    ''CODEREPONSE_TC As Variant, COMMENTAIRE_TC As Variant) As Integer
    Public Function Appelppps() As Object

        Dim i As Integer

        On Error GoTo err_Renamed

        tpPaybox.VERSION_TC = myversion_tc
        tpPaybox.DATEQ_TC = mydateq_tc
        tpPaybox.TYPE_TC = mytype_tc
        tpPaybox.NUMQUESTION_TC = mynumquestion_tc
        tpPaybox.SITE_TC = mysite_tc
        tpPaybox.RANG_TC = myrang_tc
        tpPaybox.CLE_TC = mycle_tc
        tpPaybox.IDENTIFIANT_TC = myidentifiant_tc
        tpPaybox.MONTANT_TC = mymontant_tc
        tpPaybox.DEVISE_TC = mydevise_tc
        tpPaybox.REFERENCE_TC = myreference_tc
        tpPaybox.PORTEUR_TC = myporteur_tc
        tpPaybox.DATEVAL_TC = mydateval_tc
        tpPaybox.CVV_TC = mycvv_tc
        tpPaybox.ACTIVITE_TC = myactivite_tc
        tpPaybox.ARCHIVAGE_TC = myarchivage_tc
        tpPaybox.NUMTRANS_TC = mynumtrans_tc
        tpPaybox.NUMAPPEL_TC = mynumappel_tc
        tpPaybox.SERVEURIP_TC = myserveurip_tc
        tpPaybox.SERVEURPORT_TC = myserveurport_tc
        tpPaybox.AUTORISATION_TC = myautorisation_tc
        tpPaybox.CODEREPONSE_TC = mycodereponse_tc
        tpPaybox.COMMENTAIRE_TC = mycommentaire_tc

        i = appel_ppps(tpPaybox)

        If i = 0 Then
            myversion_tc = tpPaybox.VERSION_TC
            mydateq_tc = tpPaybox.DATEQ_TC
            mytype_tc = tpPaybox.TYPE_TC
            mynumquestion_tc = tpPaybox.NUMQUESTION_TC
            mysite_tc = tpPaybox.SITE_TC
            myrang_tc = tpPaybox.RANG_TC
            mycle_tc = tpPaybox.CLE_TC
            myidentifiant_tc = tpPaybox.IDENTIFIANT_TC
            mymontant_tc = tpPaybox.MONTANT_TC
            mydevise_tc = tpPaybox.DEVISE_TC
            myreference_tc = tpPaybox.REFERENCE_TC
            myporteur_tc = tpPaybox.PORTEUR_TC
            mydateval_tc = tpPaybox.DATEVAL_TC
            mycvv_tc = tpPaybox.CVV_TC
            myactivite_tc = tpPaybox.ACTIVITE_TC
            myarchivage_tc = tpPaybox.ARCHIVAGE_TC
            mynumtrans_tc = tpPaybox.NUMTRANS_TC
            mynumappel_tc = tpPaybox.NUMAPPEL_TC
            myserveurip_tc = tpPaybox.SERVEURIP_TC
            myserveurport_tc = tpPaybox.SERVEURPORT_TC
            myautorisation_tc = tpPaybox.AUTORISATION_TC
            mycodereponse_tc = tpPaybox.CODEREPONSE_TC
            mycommentaire_tc = tpPaybox.COMMENTAIRE_TC

        End If
        Appelppps = i
        Exit Function

err_Renamed:
        Appelppps = -1

    End Function
End Class

Apparemment, pour que la dll soit visible, il faut cocher "rendre visible l'assembly par Com" et utiliser regasm au lieu de regsvr32.
Le génération se déroule correctement, mais il semble que mes fonctions et attributs ne soient pas accessibles.
En important la dll dans un nouveau projet, je ne peux pas accéder à la méthode ni aux attributs.
Et le Server.createObject("paybox.appel") ne fonctionne pas non plus
Je sais que quelquechose m'échappe, je suis un novice en la matière, donc si quelqu'un pouvait m'éclairer, ce serait super !
jeudi 7 février 2008 à 12:48:14 | Re : Créer l'équivalent d'une dll Activex, utilisable dans une page Asp avec Visual Basic 2005

aurelien0306

Bonjour, j'ai le même problème... as-tu réussi à trouver la solution ?


Cette discussion est classée dans : public, end, string, property, tc


Répondre à ce message

Sujets en rapport avec ce message

erreur d'execution 91 [ par lea75 ] Bonjour à tous,J'ai une erreur 91 dans ma classe Clslog2Option ExplicitDim vlog As StringDim vpwd As StringPublic Property Get pwd() As Stringpwd = vp initialisation d'un objet dans un objet [ par kershin ] Bonjour à tous,J'ai du pour des raisons professionnelles me mettre au VB depuis une petite semaine. Jusqu'ici tout allait bien, mais je suis confronté Création d'attributs sur controle [ par Emcy ] Bonjours, j'ai créer un composant à partir du controle Label. Je voudrais ajouter les propriétés Grid.X et Grid.YLe code ci-dessous fonctionne (j'arri Infos tags dans fichier texte. [ par ratel3 ] Bonjour.Je cherche à récupérer les infos des tags mp3 dans un fichier texte pur. Si le texte est lisible, il est plein de caractères cachés rendant sa Installer une nouvelle imprimante en VB.NET [ par dvt_robo ] Bonsoir à tous, j'essaye d'installer une nouvelle imprimante en VB.NET à l'aide de l'api winspool.drv. J'ai trouvé des exemples en VB6, et j'essaye d connexion avec ODBC.NET [ par mastercatz ] Voila, j'arrive pas à me connecter à une source ODBC pour gerer une base de données FileMaker Pro (vb.NET). En fait j'ai pas mal de doutes sur les par Multiline dans un controle activeX [ par FrostByte ] Comment faire pour permettre l'utilisation du multiline dans un controle activeX, voici pour cela le script de mon controle activex, serait-il possibl Pb de structure de collection [ par zephyrin ] Bonojur,j'ai un problème de structure de mes collections :Pourquoi dans la collection "pcolVisees" je peux voir les items depuis l'extérieur (avec deb Sérialiser un collection [ par fiko81 ] Bonjour à tous,Je voulais savoir s'il était possible de  serialiser une classe qui possède une collection ?Exemple :Par exemple : Public MustInherit C


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales