ActiveX et IIS


Remonter

Contacts :

Nicolas


Comment créer et enregistrer une DLL ActiveX sous IIS ?

L'exemple suivant montre comment :

  • Créer une DLL ActiveX (côté serveur)
  • Créer une fonction qui donne le message: "Hello " & paramètre d'entrée
  • Identification de toutes les variables appelées
  • Enregistrer la DLL
  • Appliquer les droits NTFS minimum requis
  • Créer le script ASP

 

  1. Créer "ActiveX DLL" VB project

     

  2. Créer Public Function
    Public Function Asp_Message(My_Input As String) As String
    
    Asp_Message = "Hello " & My_Input & " !"
    
    End Function
  3. Sauver la class et le projet

     

  4. Identification de toutes les variables appelées
    Nom Description Used (or not used) in ASP
    Asp_Message Function name Used, for call function
    My_Input Internal parameter name in the function. This parameter will be displayed Not Used  directly. This parameter will be pass during function call in ASP. Example:
    objActiveXServer.Asp_Message("Nicolas")
    dll_asp Project.Name Used. DLL will be register like Project_Name.ClassModule_Name: HKEY_CLASSES_ROOT\dll_asp.Hello
    asp_np_dll.vbp VB project name Not Used
    asp_np_dll.vbw Create by VB during Project recording Not Used
    Hello_np.cls Create by VB during Class recording Not Used
    Hello ClassModule.Name Used. DLL will be register like Project_Name.ClassModule_Name: HKEY_CLASSES_ROOT\dll_asp.Hello
    Hello_np.cls VB class name Not Used
    aspdemo.dll VB DLL name Used. The DLL must be register and will be used by ASP script via the project name and the class name:

    HKEY_CLASSES_ROOT\dll_asp.Hello

    aspdemo.exp Create by VB during DLL recording Not Used
    aspdemo.lib Create by VB during DLL recording Not Used

     

  5. Créer la DLL aspdemo.dll dans un dossier spécifique (ex: d:\web\components\aspdemo\dll)
    Modifier les droits NTFS pour l'utilisteur IUSR_ServerName :
    d:\web\composants\aspdemo\dll IUSR_ServerName (RX)(RX)
  6. Enregistrer la DLL : 
    regsvr32 aspdemo.dll

    La clé HKEY_CLASSES_ROOT\dll_asp.Hello sera crée

     

  7. Création du script ASP
    <%
    Dim objActiveXServer
           Set objActiveXServer = Server.CreateObject("dll_asp.Hello")
    'call the VB function with the parameter Nicolas
           response.write objActiveXServer.Asp_Message("Nicolas")
    set objActiveXServer = Nothing
    %>
  8. Résultat


Dernière mise à jour : juin 2019