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 6 et antérieur Discussion :

convertir application vb 6.0 en service


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut convertir application vb 6.0 en service
    Bonjour,
    j'ai fait une application en vb 6.0 .Comment je peux convertir mon application en un service?
    Merci de m'aider

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Bonjour,

    j'ai utilisé cette méthode qui fonctionne très bien.

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Merci phifi mais est ce que tu peux m'expliquer comment uitiliser ce code pour faire mon service?
    Merci

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    T'expliquer rapidement oui, mais il n'y a pas grand chose à dire : ce code se divise en 2 parties :
    - une pour installer le service à proprement parler et le lancer. Il n'y a rien à modifier à ce niveau par défaut.
    - l'autre partie est le service en lui-même. Tout se passe dans la procédure "Main" où tu dois insérer ton code (l'emplacement est noté en commentaire)
    Rien de bien compliqué si tu survoles la partie installation/fonctionnement du service que tu as "clé en main" !

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Bonjour,
    J'ai voulu démarrer le service mais il ya un message d'erreur
    "impossible de démarrer le service Sample vb6 service sur ordinateur local
    Erreur2 le fichier spécifier est introuvable"
    Merci de réponde

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Ajoute le code sur lequel tu as l'erreur s'il te plaît...

  7. #7
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    L'erreur était au debut quand j'ai lancé l'application avant ajouter de code mais maintenant l'erreur est disparu.

    Je vais t'expliquer mon programme et svp donner moi des conseils comment je vais faire:

    Mon application fait le parsing d'un fichier xml existant sur le serveur et met les données dans une MSflexgrid .ça doit être fait chaque temps qui sera configurable .Au demarrage de windows le service qui permet de parser le fichier xml chaque temps et mettre ces données dans la MSflexgrid doit être lancé et il y aura un icone en bas à droite près de l'heure qui en cliquant me permet de voir la MSflexgrid .
    Merci de m'aider

    j'ai n'est pas compris comment faire pour ajouter mon code au code de service
    Svp aider moi

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Ce n'est pas très compliqué, c'est écrit en commentaires dans la procédure "Main" du module "Sample.bas"

    Si tu ne comprends pas ce que tu fais en utilisant ce code, tu devrais peut-être envisager une autre solution...

    Et puis, sans ton code, il est difficile de savoir si c'est que tu cherches à faire, donc de t'aider. A toi de voir !

  9. #9
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    voici le form list.frm
    Fichiers attachés Fichiers attachés

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Je peux t'envoyer pour ma part mon tarif horaire pour faire ton développement... tu n'as pas bien compris (non plus) le principe d'un forum et je t'invite à (re)lire ses règles.


  11. #11
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    SVP Phifi voir mon code et dit moi comment je peux l'integrer dans l'exemple que tu m'a donné sur le service
    Merci pour votre aide

  12. #12
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Bonjour,
    Je veux que au demarrage de windows un service se lance qui permet de parser le fichier xml chaque temps précis et mettre ses donnée dans une MsFlexGrid
    Le code qui permet de parser le fichier xml est:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    Sub AjoutesVols()
    Dim xmlDoc As New MSXML2.DOMDocument
    Dim vntheurearr As Variant
    Dim oMembreDvp As MSXML2.IXMLDOMElement
    Dim oElement  As IXMLDOMElement
    Dim stFichier As String
    Dim stNom As String
    Dim var As Variant
    Dim taille As Integer
    taille = 1000
    'fichier resultat.xml
    stFichier = "http://webplus/wajdi2007/resultat.xml"
    xmlDoc.async = False
    If xmlDoc.Load(stFichier) Then
     
    Else
        MsgBox "Erreur de lecture du document XML"
        End
    End If
     
    Dim vntPseudo As Variant
     
    MSFlexGrid1.Cols = 12
    MSFlexGrid1.Clear
    MSFlexGrid1.Refresh
     
    MSFlexGrid1.ColWidth(0) = taille
    MSFlexGrid1.ColWidth(1) = taille
    MSFlexGrid1.ColWidth(2) = taille
    MSFlexGrid1.ColWidth(3) = taille
    MSFlexGrid1.ColWidth(4) = taille
    MSFlexGrid1.ColWidth(5) = taille
    MSFlexGrid1.ColWidth(6) = taille
    MSFlexGrid1.ColWidth(7) = taille
    MSFlexGrid1.ColWidth(8) = taille
    MSFlexGrid1.ColWidth(9) = taille
    MSFlexGrid1.ColWidth(10) = taille
    MSFlexGrid1.ColWidth(11) = taille
     
    MSFlexGrid1.ColAlignment(1) = flexAlignCenterCenter
     
     
    MSFlexGrid1.Row = 0
    MSFlexGrid1.Col = 0
    MSFlexGrid1.Text = "Date Départ"
    MSFlexGrid1.Col = 1
    MSFlexGrid1.Text = "Ville Départ"
    MSFlexGrid1.Col = 2
    MSFlexGrid1.Text = "Heure Départ"
    MSFlexGrid1.Col = 3
    MSFlexGrid1.Text = "Ville Arrivé"
    MSFlexGrid1.Col = 4
    MSFlexGrid1.Text = "Heure Arrivé"
    MSFlexGrid1.Col = 6
    MSFlexGrid1.Text = "Date Départ"
    MSFlexGrid1.Col = 7
    MSFlexGrid1.Text = "Ville Départ"
    MSFlexGrid1.Col = 8
    MSFlexGrid1.Text = "Heure Départ"
    MSFlexGrid1.Col = 9
    MSFlexGrid1.Text = "Ville Arrivé"
    MSFlexGrid1.Col = 10
    MSFlexGrid1.Text = "Heure Arrivé"
    MSFlexGrid1.Col = 11
    MSFlexGrid1.Text = "Prix"
     
     
    Dim m As Integer
    m = 2
    MSFlexGrid1.Rows = 2
    For Each oElement In xmlDoc.getElementsByTagName("VOLALLER")
       MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
       PoseVol oElement, m
       m = m + 1
    Next
    Dim n As Integer
    n = 2
    For Each oElement In xmlDoc.getElementsByTagName("VOLRETOUR")
       PoseVol1 oElement, n
       n = n + 1
    Next
     
    Set oMembreDvp = xmlDoc.documentElement
    Dim i As Integer
    i = 2
     
    For Each vntheurearr In oMembreDvp.getElementsByTagName("TOTALTTC")
     MSFlexGrid1.Row = i
     MSFlexGrid1.Col = 11
     MSFlexGrid1.Text = vntheurearr.Text
     i = i + 1
    Next
     
     
    Set oElement = Nothing
    Set xmlDoc = Nothing
    End Sub
    La méthode PoseVol est:
    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
    18
    19
    20
    21
    22
    23
    24
    Sub PoseVol(oElement As IXMLDOMElement, l As Integer)
    Dim stDateDepart As String
    Dim stHeureDepart As String
    Dim stVilleDepart As String
    Dim stVilleArrivee As String
    Dim stHeureArrivee As String
     
    stDateDepart = oElement.getElementsByTagName("DATEDEPART").Item(0).Text
    stVilleDepart = oElement.getElementsByTagName("LIBVILLEDEPART").Item(0).Text
    stHeureDepart = oElement.getElementsByTagName("HEUREDEPART").Item(0).Text
    stVilleArrivee = oElement.getElementsByTagName("LIBVILLEARRIVEE").Item(0).Text
    stHeureArrivee = oElement.getElementsByTagName("HEUREARRIVEE").Item(0).Text
    MSFlexGrid1.Col = 0
    MSFlexGrid1.Row = l
    MSFlexGrid1.Text = stDateDepart
    MSFlexGrid1.Col = 1
    MSFlexGrid1.Text = stVilleDepart
    MSFlexGrid1.Col = 2
    MSFlexGrid1.Text = stHeureDepart
    MSFlexGrid1.Col = 3
    MSFlexGrid1.Text = stVilleArrivee
    MSFlexGrid1.Col = 4
    MSFlexGrid1.Text = stHeureArrivee
    End Sub
    La méthode PoseVol1 est:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub PoseVol1(oElement As IXMLDOMElement, p As Integer)
    Dim stDateDepart As String
    Dim stHeureDepart As String
    Dim stVilleDepart As String
    Dim stVilleArrivee As String
    Dim stHeureArrivee As String
     
     
    stDateDepart = oElement.getElementsByTagName("DATEDEPART").Item(0).Text
    stVilleDepart = oElement.getElementsByTagName("LIBVILLEDEPART").Item(0).Text
    stHeureDepart = oElement.getElementsByTagName("HEUREDEPART").Item(0).Text
    stVilleArrivee = oElement.getElementsByTagName("LIBVILLEARRIVEE").Item(0).Text
    stHeureArrivee = oElement.getElementsByTagName("HEUREARRIVEE").Item(0).Text
    MSFlexGrid1.Col = 6
    MSFlexGrid1.Row = p
    MSFlexGrid1.Text = stDateDepart
    MSFlexGrid1.Col = 7
    MSFlexGrid1.Text = stVilleDepart
    MSFlexGrid1.Col = 8
    MSFlexGrid1.Text = stHeureDepart
    MSFlexGrid1.Col = 9
    MSFlexGrid1.Text = stVilleArrivee
    MSFlexGrid1.Col = 10
    MSFlexGrid1.Text = stHeureArrivee
     
    End Sub
    La fonction de timer est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Timer1_Timer()
      iCptSecondes = iCptSecondes + 1
      If iCptSecondes >= iPeriodeAcquisition Then
       iCptSecondes = 0
       AjoutesVols
      End If
    End Sub

  13. #13
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par Phifi Voir le message
    tu n'as pas bien compris (non plus) le principe d'un forum et je t'invite à (re)lire ses règles.
    +1
    Un forum n'est pas un distributeur gratuit de code tout fait.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  14. #14
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Le lien que je t'ai envoyé EST UN EXEMPLE de service en VB6 ! Si tu ne trouves pas le module SAMPLE.BAS, ni la procédure MAIN, tu n'auras rien de plus simple !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Do
                ' ******************
                ' It is main service loop. Here you may place statements
                ' which perform useful functionality of this service.
                ' ******************
     
     
     
     
                ' Loop repeats every second. You may change this interval.
            Loop While MsgWaitObj(1000&, hStopPendingEvent, 1&) = WAIT_TIMEOUT
    Tout ce que tu mets à l'intérieur de la boucle sera exécuté tant que le service est lancé, qu'est-ce que tu veux de plus !?

  15. #15
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Qu'est ce que je met entre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' ******************
     
     ' Here you may stop and destroy service's objects
          ' ******************
    Est ce que je met seulement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            Set oMembreDvp1 = Nothing
            Set xmlDoc1 = Nothing

  16. #16
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Tout ce qui est avant le Do est exécuté au démarrage du service, et ce qui est placé après le Loop est exécuté à l'arrêt du service, donc tu décharges là les objets chargés en début de service.

  17. #17
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Bonjour,
    J'ai convertis mon application en un service mais le probléme est que :lorque l'application travaille en arriere plan, je veux que lorsque elle fait le parsing de fichier xml si elle trouve par exemple le nom de ville égale à paris elle fait sortis un message
    Merci de répondre

  18. #18
    Membre chevronné
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Par défaut
    Bonjour,

    Le principe du service est que c'est une application sans interface aucune avec l'utilisateur. Les messages a destination d'un utilisateur doivent être écris dans les événements systèmes.

    Une solution consiste a créer une autre application qui va afficher l'état du service et ces éventuels messages. La communication entre le service et cette application peut être :
    - les événements système
    - un fichier (ou base de données) commun aux deux programmes

  19. #19
    Membre chevronné
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Par défaut
    Comme le service ne peut pas le faire, c'est la seconde application qui doit afficher le message.

    C'est à toi de voir comment la seconde application peut avoir cette information. Des moyens possible sont dans mon message précédent.

    Vu de loin, je pense que la création d'un fichier log est le plus simple : le servcie écrit son état dans un fichier et la seconde application va lire régulirement ce fichier.

  20. #20
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Tu as raison : il vaut mieux utiliser un programme tiers que de permettre au service d'interagir avec le bureau (option du service), pour une raison de sécurité. Cela dit, c'est bien loin des préoccupations de notre ami qui ne semble pas maîtriser le moins du monde ce qu'il fait. Je déclare forfait pour ma part...

Discussions similaires

  1. Conversion application développée en Delphi en service web
    Par djibrilcamara dans le forum Web & réseau
    Réponses: 1
    Dernier message: 04/07/2008, 14h18
  2. Convertir des classes java en web service
    Par thibane dans le forum Services Web
    Réponses: 3
    Dernier message: 01/02/2008, 10h32
  3. Réponses: 1
    Dernier message: 19/12/2007, 09h18
  4. convertir application en applet
    Par franfr57 dans le forum Applets
    Réponses: 1
    Dernier message: 15/06/2007, 09h32
  5. convertir application MFC en DLL
    Par AYARA Adel dans le forum MFC
    Réponses: 1
    Dernier message: 20/02/2007, 21h13

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