Bonjour,
j'ai fait une application en vb 6.0 .Comment je peux convertir mon application en un service?
Merci de m'aider








Bonjour,
j'ai fait une application en vb 6.0 .Comment je peux convertir mon application en un service?
Merci de m'aider
Bonjour,
j'ai utilisé cette méthode qui fonctionne très bien.








Merci phifi mais est ce que tu peux m'expliquer comment uitiliser ce code pour faire mon service?
Merci
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" !








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
Ajoute le code sur lequel tu as l'erreur s'il te plaît...








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
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 !








voici le form list.frm
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.
![]()








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








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:
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
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 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 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 fonction de timer 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
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
N'oubliez pas de cliquer surquand 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!
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 !
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 !?
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![]()








Qu'est ce que je met entre
Est ce que je met seulement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ' ****************** ' Here you may stop and destroy service's objects ' ******************
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Set oMembreDvp1 = Nothing Set xmlDoc1 = Nothing
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.








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
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
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.
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...
Partager