Je cherche à développer un service NT (compatible Win 2K et XP) sous
Windev (mini version 10).
Es ce possible et quels sont les pièges à éviter.
Peut-on gérer le service avec les outils windows.
Si la création et la gestion de service est impossible avec l'outil
windev, peut-on trouver une solution médiane qui remplace un service
par un système équivalent entièrement développer sous windev.
Je vous remercie
@+
--
Jean-Yves BURLOT
suivre ce lien pour répondre :
http://cerbermail.com/?zbQ7wrKUbu
;-)
--
service possible, d'abord décider de l'architecture: - utiliser wdservice ou langageexterne pour appeler une wdl attention dans ce cas, le mécanisme des exception ne fonctionne pas toujours (bien testé ce point si nécessaire) - créer un exe normal et le lancer comme un service dans ce cas, faire gaffe à la consommation cpu et aux arrets du service que l'on ne peut pas intercepter
dans tous les cas, ne pas oublier que l'utilisation de l'écran ou du réseau sont mutuellement exclusif
"Jean-Yves BURLOT" a écrit dans le message de news:
Bonjour,
Je cherche à développer un service NT (compatible Win 2K et XP) sous Windev (mini version 10). Es ce possible et quels sont les pièges à éviter. Peut-on gérer le service avec les outils windows.
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
Je vous remercie
@+
-- Jean-Yves BURLOT suivre ce lien pour répondre : http://cerbermail.com/?zbQ7wrKUbu ;-) --
service possible, d'abord décider de l'architecture:
- utiliser wdservice ou langageexterne pour appeler une wdl
attention dans ce cas, le mécanisme des exception ne fonctionne pas toujours
(bien testé ce point si nécessaire)
- créer un exe normal et le lancer comme un service
dans ce cas, faire gaffe à la consommation cpu et aux arrets du service que
l'on ne peut pas intercepter
dans tous les cas, ne pas oublier que l'utilisation de l'écran ou du réseau
sont mutuellement exclusif
"Jean-Yves BURLOT" <Jean-Yves.BURLOT@even.fr> a écrit dans le message de
news:mn.72797d818ac48656.75776@even.fr...
Bonjour,
Je cherche à développer un service NT (compatible Win 2K et XP) sous
Windev (mini version 10).
Es ce possible et quels sont les pièges à éviter.
Peut-on gérer le service avec les outils windows.
Si la création et la gestion de service est impossible avec l'outil
windev, peut-on trouver une solution médiane qui remplace un service
par un système équivalent entièrement développer sous windev.
Je vous remercie
@+
--
Jean-Yves BURLOT
suivre ce lien pour répondre :
http://cerbermail.com/?zbQ7wrKUbu
;-)
--
service possible, d'abord décider de l'architecture: - utiliser wdservice ou langageexterne pour appeler une wdl attention dans ce cas, le mécanisme des exception ne fonctionne pas toujours (bien testé ce point si nécessaire) - créer un exe normal et le lancer comme un service dans ce cas, faire gaffe à la consommation cpu et aux arrets du service que l'on ne peut pas intercepter
dans tous les cas, ne pas oublier que l'utilisation de l'écran ou du réseau sont mutuellement exclusif
"Jean-Yves BURLOT" a écrit dans le message de news:
Bonjour,
Je cherche à développer un service NT (compatible Win 2K et XP) sous Windev (mini version 10). Es ce possible et quels sont les pièges à éviter. Peut-on gérer le service avec les outils windows.
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
Je vous remercie
@+
-- Jean-Yves BURLOT suivre ce lien pour répondre : http://cerbermail.com/?zbQ7wrKUbu ;-) --
patrice
Je vous conseille également :
- si possible, autoriser l'écran pour le service (dans le cas d'apparition de fenetre d'exception non gérée) - de developper un service de surveillance ou d'utiliser les mécanismes windows de redémarrage automatique (desfois, ca s'arrete, on sait pas pourquoi) - d'arreter et redémarrer périodiquement le service
"Jean-Yves BURLOT" a écrit dans le message de news:
Bonjour,
Je cherche à développer un service NT (compatible Win 2K et XP) sous Windev (mini version 10). Es ce possible et quels sont les pièges à éviter. Peut-on gérer le service avec les outils windows.
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
Je vous remercie
@+
-- Jean-Yves BURLOT suivre ce lien pour répondre : http://cerbermail.com/?zbQ7wrKUbu ;-) --
Je vous conseille également :
- si possible, autoriser l'écran pour le service (dans le cas d'apparition
de fenetre d'exception non gérée)
- de developper un service de surveillance ou d'utiliser les mécanismes
windows de redémarrage automatique
(desfois, ca s'arrete, on sait pas pourquoi)
- d'arreter et redémarrer périodiquement le service
"Jean-Yves BURLOT" <Jean-Yves.BURLOT@even.fr> a écrit dans le message de
news:mn.72797d818ac48656.75776@even.fr...
Bonjour,
Je cherche à développer un service NT (compatible Win 2K et XP) sous
Windev (mini version 10).
Es ce possible et quels sont les pièges à éviter.
Peut-on gérer le service avec les outils windows.
Si la création et la gestion de service est impossible avec l'outil
windev, peut-on trouver une solution médiane qui remplace un service
par un système équivalent entièrement développer sous windev.
Je vous remercie
@+
--
Jean-Yves BURLOT
suivre ce lien pour répondre :
http://cerbermail.com/?zbQ7wrKUbu
;-)
--
- si possible, autoriser l'écran pour le service (dans le cas d'apparition de fenetre d'exception non gérée) - de developper un service de surveillance ou d'utiliser les mécanismes windows de redémarrage automatique (desfois, ca s'arrete, on sait pas pourquoi) - d'arreter et redémarrer périodiquement le service
"Jean-Yves BURLOT" a écrit dans le message de news:
Bonjour,
Je cherche à développer un service NT (compatible Win 2K et XP) sous Windev (mini version 10). Es ce possible et quels sont les pièges à éviter. Peut-on gérer le service avec les outils windows.
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
Je vous remercie
@+
-- Jean-Yves BURLOT suivre ce lien pour répondre : http://cerbermail.com/?zbQ7wrKUbu ;-) --
Romain PETIT
Jean-Yves BURLOT a formulé ce lundi :
Bonjour,
Bonjour,
Je cherche à développer un service NT (compatible Win 2K et XP) sous Windev (mini version 10). Es ce possible et quels sont les pièges à éviter. Peut-on gérer le service avec les outils windows.
Oui, mais ce n'est pas le moyen le plus simple.
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
Plus de réponses sur XYNTService : http://groups.google.fr/group/fr.comp.developpement.agl.windev/search?group=fr.comp.developpement.agl.windev&q=xyntservice
Perso, j'ai encapuslé XTNYService dans une classe avec FichierDansExe de Michel Fages.
Il me suffit de rajouter dans un projet une classe, quelques lignes de codes et j'ai un service dont l'exe s'extrait, s'installe, se lance, monitore l'appli et fonctionne sans problème et sans soucis d'upgrade de version (cd WDservice qu'il faut recompiler).
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Jean-Yves BURLOT a formulé ce lundi :
Bonjour,
Bonjour,
Je cherche à développer un service NT (compatible Win 2K et XP) sous
Windev (mini version 10).
Es ce possible et quels sont les pièges à éviter.
Peut-on gérer le service avec les outils windows.
Oui, mais ce n'est pas le moyen le plus simple.
Si la création et la gestion de service est impossible avec l'outil
windev, peut-on trouver une solution médiane qui remplace un service
par un système équivalent entièrement développer sous windev.
Plus de réponses sur XYNTService :
http://groups.google.fr/group/fr.comp.developpement.agl.windev/search?group=fr.comp.developpement.agl.windev&q=xyntservice
Perso, j'ai encapuslé XTNYService dans une classe avec FichierDansExe
de Michel Fages.
Il me suffit de rajouter dans un projet une classe, quelques lignes de
codes et j'ai un service dont l'exe s'extrait, s'installe, se lance,
monitore l'appli et fonctionne sans problème et sans soucis d'upgrade
de version (cd WDservice qu'il faut recompiler).
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Je cherche à développer un service NT (compatible Win 2K et XP) sous Windev (mini version 10). Es ce possible et quels sont les pièges à éviter. Peut-on gérer le service avec les outils windows.
Oui, mais ce n'est pas le moyen le plus simple.
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
Plus de réponses sur XYNTService : http://groups.google.fr/group/fr.comp.developpement.agl.windev/search?group=fr.comp.developpement.agl.windev&q=xyntservice
Perso, j'ai encapuslé XTNYService dans une classe avec FichierDansExe de Michel Fages.
Il me suffit de rajouter dans un projet une classe, quelques lignes de codes et j'ai un service dont l'exe s'extrait, s'installe, se lance, monitore l'appli et fonctionne sans problème et sans soucis d'upgrade de version (cd WDservice qu'il faut recompiler).
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
patrice
"Romain PETIT" a écrit dans le message de news:
> Si la création et la gestion de service est impossible avec l'outil > windev, peut-on trouver une solution médiane qui remplace un service > par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à l'arrache" à la fin du service (arret service, arret machine) donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé à ce moment la .....
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de
news:mn.72b57d8138d924db.2248@Signature.fin...
> Si la création et la gestion de service est impossible avec l'outil
> windev, peut-on trouver une solution médiane qui remplace un service
> par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à
l'arrache" à la fin du service (arret service, arret machine)
donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé
à ce moment la .....
> Si la création et la gestion de service est impossible avec l'outil > windev, peut-on trouver une solution médiane qui remplace un service > par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à l'arrache" à la fin du service (arret service, arret machine) donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé à ce moment la .....
Jean-Yves BURLOT
patrice a utilisé son clavier pour écrire :
"Romain PETIT" a écrit dans le message de news:
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à l'arrache" à la fin du service (arret service, arret machine) donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé à ce moment la .....
Pour mon besoin, il n'y aura que des accès sur des fichiers textes servant à définir des informations basiques sur le poste
Je vous remercie tous les deux et je pense opter pour la solution de Romain toujours aussi pragmatique.
-- Jean-Yves BURLOT suivre ce lien pour répondre : http://cerbermail.com/?zbQ7wrKUbu ;-) --
patrice a utilisé son clavier pour écrire :
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de
news:mn.72b57d8138d924db.2248@Signature.fin...
Si la création et la gestion de service est impossible avec l'outil
windev, peut-on trouver une solution médiane qui remplace un service
par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à
l'arrache" à la fin du service (arret service, arret machine)
donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé
à ce moment la .....
Pour mon besoin, il n'y aura que des accès sur des fichiers textes
servant à définir des informations basiques sur le poste
Je vous remercie tous les deux et je pense opter pour la solution de
Romain toujours aussi pragmatique.
--
Jean-Yves BURLOT
suivre ce lien pour répondre :
http://cerbermail.com/?zbQ7wrKUbu
;-)
--
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à l'arrache" à la fin du service (arret service, arret machine) donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé à ce moment la .....
Pour mon besoin, il n'y aura que des accès sur des fichiers textes servant à définir des informations basiques sur le poste
Je vous remercie tous les deux et je pense opter pour la solution de Romain toujours aussi pragmatique.
-- Jean-Yves BURLOT suivre ce lien pour répondre : http://cerbermail.com/?zbQ7wrKUbu ;-) --
Daniel
patrice a écrit :
"Romain PETIT" a écrit dans le message de news:
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à l'arrache" à la fin du service (arret service, arret machine) donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé à ce moment la .....
XYNTService envoie 2 signaux : Le premier est WM_quit qui demande au logiciel mis en service de se fermer.
Si la fermeture du logiciel ne se fait pas dans ce cas il envoie un TerminateProcess.
Je ne comprends pas le "à l'arrache".
-- suivre ce lien pour répondre: http://cerbermail.com/?2KrV3YZXnn Daniel ;-)
patrice a écrit :
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de
news:mn.72b57d8138d924db.2248@Signature.fin...
Si la création et la gestion de service est impossible avec l'outil
windev, peut-on trouver une solution médiane qui remplace un service
par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à
l'arrache" à la fin du service (arret service, arret machine)
donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé
à ce moment la .....
XYNTService envoie 2 signaux :
Le premier est WM_quit qui demande au logiciel mis en service de se fermer.
Si la fermeture du logiciel ne se fait pas dans ce cas il envoie un
TerminateProcess.
Je ne comprends pas le "à l'arrache".
--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Si la création et la gestion de service est impossible avec l'outil windev, peut-on trouver une solution médiane qui remplace un service par un système équivalent entièrement développer sous windev.
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à l'arrache" à la fin du service (arret service, arret machine) donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé à ce moment la .....
XYNTService envoie 2 signaux : Le premier est WM_quit qui demande au logiciel mis en service de se fermer.
Si la fermeture du logiciel ne se fait pas dans ce cas il envoie un TerminateProcess.
Je ne comprends pas le "à l'arrache".
-- suivre ce lien pour répondre: http://cerbermail.com/?2KrV3YZXnn Daniel ;-)
Romain PETIT
patrice avait énoncé :
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à l'arrache" à la fin du service (arret service, arret machine) donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé à ce moment la .....
Non, pas du tout, XYNTService fait tout proprement... Il suffit d'inertcepter le WM_QUIT envoyé à l'appli pour que celle-ci soit au courant de l'arret...
Et ça, on peut le savoir parce qu'on a les sources de XYNTService...
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
patrice avait énoncé :
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à
l'arrache" à la fin du service (arret service, arret machine)
donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé
à ce moment la .....
Non, pas du tout, XYNTService fait tout proprement...
Il suffit d'inertcepter le WM_QUIT envoyé à l'appli pour que celle-ci
soit au courant de l'arret...
attention que, dans ce cas, l'xyntservice terminera le logiciel windev "à l'arrache" à la fin du service (arret service, arret machine) donc vaut mieux pas avoir une écriture HF en cours ou un fichier non flushé à ce moment la .....
Non, pas du tout, XYNTService fait tout proprement... Il suffit d'inertcepter le WM_QUIT envoyé à l'appli pour que celle-ci soit au courant de l'arret...
Et ça, on peut le savoir parce qu'on a les sources de XYNTService...
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
patrice
"Daniel" a écrit dans le message de news:478b49df$0$27593$
XYNTService envoie 2 signaux : Le premier est WM_quit qui demande au logiciel mis en service de se
fermer.
Si la fermeture du logiciel ne se fait pas dans ce cas il envoie un TerminateProcess.
Je ne comprends pas le "à l'arrache".
s'il s'agit d'un exe qui tourne comme un service, l'appli ne sera pas un menu en train d'attendre une action utilisateur mais plutot une boucle sans fin, ou un timer périodique donc le wm_quit sera sans effet. le terminateprocess arrete le process . il ferme bien tous les objets ouvert, mais beaucoup d'action sur des fichiers sont des séquences qui ne doivent pas etre interrompue par exemple, ecrire fichier data, mettre à jour fichier index si l'exe est arreté au milieu de ca, ca laisse la base dans un état dramatique (et sans message d'erreur à ce moment la)
"Daniel" <nospam@wanadoo.fr> a écrit dans le message de
news:478b49df$0$27593$426a74cc@news.free.fr...
XYNTService envoie 2 signaux :
Le premier est WM_quit qui demande au logiciel mis en service de se
fermer.
Si la fermeture du logiciel ne se fait pas dans ce cas il envoie un
TerminateProcess.
Je ne comprends pas le "à l'arrache".
s'il s'agit d'un exe qui tourne comme un service, l'appli ne sera pas un
menu en train d'attendre une action utilisateur
mais plutot une boucle sans fin, ou un timer périodique
donc le wm_quit sera sans effet.
le terminateprocess arrete le process . il ferme bien tous les objets
ouvert, mais beaucoup d'action sur des fichiers sont des séquences qui ne
doivent pas etre interrompue
par exemple, ecrire fichier data, mettre à jour fichier index
si l'exe est arreté au milieu de ca, ca laisse la base dans un état
dramatique (et sans message d'erreur à ce moment la)
"Daniel" a écrit dans le message de news:478b49df$0$27593$
XYNTService envoie 2 signaux : Le premier est WM_quit qui demande au logiciel mis en service de se
fermer.
Si la fermeture du logiciel ne se fait pas dans ce cas il envoie un TerminateProcess.
Je ne comprends pas le "à l'arrache".
s'il s'agit d'un exe qui tourne comme un service, l'appli ne sera pas un menu en train d'attendre une action utilisateur mais plutot une boucle sans fin, ou un timer périodique donc le wm_quit sera sans effet. le terminateprocess arrete le process . il ferme bien tous les objets ouvert, mais beaucoup d'action sur des fichiers sont des séquences qui ne doivent pas etre interrompue par exemple, ecrire fichier data, mettre à jour fichier index si l'exe est arreté au milieu de ca, ca laisse la base dans un état dramatique (et sans message d'erreur à ce moment la)
Romain PETIT
patrice a formulé la demande :
s'il s'agit d'un exe qui tourne comme un service, l'appli ne sera pas un menu en train d'attendre une action utilisateur mais plutot une boucle sans fin, ou un timer périodique donc le wm_quit sera sans effet.
En théorie, le WM_QUIT devrait être trappable. Mais effectivement, il y a un problème (en tout cas en WD7.5). J'ai essayé de recompiler XYNTService en passant un WM_CLOSE, ça ne passe pas non plus... Cf. : http://www.codeproject.com/KB/system/xyntservice.aspx?msg#50671)
Je pense que c'est plus un problème relatif aux applis Windev, comme le fait par exemple que le code de fermeture de session Windows n'est pas exécuté si le projet ne contient aucune fenetre : http://www.windasso.org/cgi-bin/gbug.exe?EXEC=CONS&NUM#3
le terminateprocess arrete le process . il ferme bien tous les objets ouvert, mais beaucoup d'action sur des fichiers sont des séquences qui ne doivent pas etre interrompue par exemple, ecrire fichier data, mettre à jour fichier index si l'exe est arreté au milieu de ca, ca laisse la base dans un état dramatique (et sans message d'erreur à ce moment la)
Solution simple : reprendre le code XYNTService, et lors de l'arret du service, utiliser un autre type de dialogue avec l'appli Windev (utilisation d'un fichier, d'une Socket, d'un pipe...)
Je vais essayer de creuser un peu tout ça quand j'aurais un peu de temps.
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
patrice a formulé la demande :
s'il s'agit d'un exe qui tourne comme un service, l'appli ne sera pas un
menu en train d'attendre une action utilisateur
mais plutot une boucle sans fin, ou un timer périodique
donc le wm_quit sera sans effet.
En théorie, le WM_QUIT devrait être trappable.
Mais effectivement, il y a un problème (en tout cas en WD7.5).
J'ai essayé de recompiler XYNTService en passant un WM_CLOSE, ça ne
passe pas non plus...
Cf. :
http://www.codeproject.com/KB/system/xyntservice.aspx?msg#50671)
Je pense que c'est plus un problème relatif aux applis Windev, comme le
fait par exemple que le code de fermeture de session Windows n'est pas
exécuté si le projet ne contient aucune fenetre :
http://www.windasso.org/cgi-bin/gbug.exe?EXEC=CONS&NUM#3
le terminateprocess arrete le process . il ferme bien tous les objets
ouvert, mais beaucoup d'action sur des fichiers sont des séquences qui ne
doivent pas etre interrompue
par exemple, ecrire fichier data, mettre à jour fichier index
si l'exe est arreté au milieu de ca, ca laisse la base dans un état
dramatique (et sans message d'erreur à ce moment la)
Solution simple : reprendre le code XYNTService, et lors de l'arret du
service, utiliser un autre type de dialogue avec l'appli Windev
(utilisation d'un fichier, d'une Socket, d'un pipe...)
Je vais essayer de creuser un peu tout ça quand j'aurais un peu de
temps.
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
s'il s'agit d'un exe qui tourne comme un service, l'appli ne sera pas un menu en train d'attendre une action utilisateur mais plutot une boucle sans fin, ou un timer périodique donc le wm_quit sera sans effet.
En théorie, le WM_QUIT devrait être trappable. Mais effectivement, il y a un problème (en tout cas en WD7.5). J'ai essayé de recompiler XYNTService en passant un WM_CLOSE, ça ne passe pas non plus... Cf. : http://www.codeproject.com/KB/system/xyntservice.aspx?msg#50671)
Je pense que c'est plus un problème relatif aux applis Windev, comme le fait par exemple que le code de fermeture de session Windows n'est pas exécuté si le projet ne contient aucune fenetre : http://www.windasso.org/cgi-bin/gbug.exe?EXEC=CONS&NUM#3
le terminateprocess arrete le process . il ferme bien tous les objets ouvert, mais beaucoup d'action sur des fichiers sont des séquences qui ne doivent pas etre interrompue par exemple, ecrire fichier data, mettre à jour fichier index si l'exe est arreté au milieu de ca, ca laisse la base dans un état dramatique (et sans message d'erreur à ce moment la)
Solution simple : reprendre le code XYNTService, et lors de l'arret du service, utiliser un autre type de dialogue avec l'appli Windev (utilisation d'un fichier, d'une Socket, d'un pipe...)
Je vais essayer de creuser un peu tout ça quand j'aurais un peu de temps.
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
patrice
"Romain PETIT" a écrit dans le message de news:
En théorie, le WM_QUIT devrait être trappable.
lapalissade: tout message n'est recu que s'il est lu. tout programme windows à la structure: while (getmessage()) dispatchmessage() donc pendant le traitement d'un message , un thread ne peut traiter d'autre message
Solution simple : reprendre le code XYNTService, et lors de l'arret du service, utiliser un autre type de dialogue avec l'appli Windev (utilisation d'un fichier, d'une Socket, d'un pipe...)
tout a fait. amha, la solution la plus simple: - temporiser xyntservice pour qu'il ne terminate que si x secondes se sont écoulés - modifier l'exe pour lui faire tester le wm_quit (donc faire une fenetre principale) et faire les traitements : soit sur timer et ne pas durer plus de x secondes à chaque fois soit sur thread, et le traitement du wm_quit doit synchroniser le thread
sinon pour notifer un programme par un autre, le plus simple/rapide est d'utiliser les signaux (api createevent, openevent, waitforsingleevent)
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de
news:mn.73fb7d81a81e29fc.2248@Signature.fin...
En théorie, le WM_QUIT devrait être trappable.
lapalissade: tout message n'est recu que s'il est lu.
tout programme windows à la structure:
while (getmessage()) dispatchmessage()
donc pendant le traitement d'un message , un thread ne peut traiter d'autre
message
Solution simple : reprendre le code XYNTService, et lors de l'arret du
service, utiliser un autre type de dialogue avec l'appli Windev
(utilisation d'un fichier, d'une Socket, d'un pipe...)
tout a fait.
amha, la solution la plus simple:
- temporiser xyntservice pour qu'il ne terminate que si x secondes se
sont écoulés
- modifier l'exe pour lui faire tester le wm_quit (donc faire une
fenetre principale) et faire les traitements :
soit sur timer et ne pas durer plus de x secondes à chaque fois
soit sur thread, et le traitement du wm_quit doit synchroniser le
thread
sinon pour notifer un programme par un autre, le plus simple/rapide est
d'utiliser les signaux (api createevent, openevent, waitforsingleevent)
lapalissade: tout message n'est recu que s'il est lu. tout programme windows à la structure: while (getmessage()) dispatchmessage() donc pendant le traitement d'un message , un thread ne peut traiter d'autre message
Solution simple : reprendre le code XYNTService, et lors de l'arret du service, utiliser un autre type de dialogue avec l'appli Windev (utilisation d'un fichier, d'une Socket, d'un pipe...)
tout a fait. amha, la solution la plus simple: - temporiser xyntservice pour qu'il ne terminate que si x secondes se sont écoulés - modifier l'exe pour lui faire tester le wm_quit (donc faire une fenetre principale) et faire les traitements : soit sur timer et ne pas durer plus de x secondes à chaque fois soit sur thread, et le traitement du wm_quit doit synchroniser le thread
sinon pour notifer un programme par un autre, le plus simple/rapide est d'utiliser les signaux (api createevent, openevent, waitforsingleevent)