Créer l'équivalent d'une dll Activex, utilisable dans une page Asp avec Visual B
lelostecloic
Messages postés1Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention15 mars 2006
-
15 mars 2006 à 09:18
aurelien0306
Messages postés181Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention 2 mars 2009
-
7 févr. 2008 à 12:48
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
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 !
A voir également:
Créer l'équivalent d'une dll Activex, utilisable dans une page Asp avec Visual B