Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Fermer un process sans sa DLL [ Divers / Débutant(e) ] (christophedlr)

lundi 11 août 2008 à 14:25:12 | Fermer un process sans sa DLL

christophedlr

Membre Club
Bonjour,

Pour mon programme je voudrais faire un système de mise à jour.
Je pensais à faire une DLL, mais on arrive à ma question.

Quand on provoque la fermeture d'un process, la DLL qui était en cours d'utilisation est toujours utilisable ?
Je m'explique.

Je voudrais que le système de mise à jour ferme automatiquement le programme donc l'EXE afin de le mettre à jour, mais je sais pas si la DLL de mise à jour continueras de fonctionner ou non.


Merci d'avance.

lundi 11 août 2008 à 16:35:06 | Re : Fermer un process sans sa DLL

Francky23012301

Membre Club
Salut,

Voila une question mal posée : .

1)Une DLL est une librairie dynamique : Elle est utilisable par plein de process. Un process ne fait que l'utiliser. En fermant ce dernier, on intervient absolument pas sur la dll. Le pire qu'il puisse t'arriver c'est un beug lors de la fermeture de ton process mais ta DLL elle sera toujours utilisable.

2)Par contre si ta question est de savoir si la fermeture de ton application va provoquée l'intérruption des processus en cours de ta DLL (dans ton cas téléchargement), la réponse est non : Tu fermes que ton application, en aucune facon tu interviens sur ta DLL.

lundi 11 août 2008 à 16:59:27 | Re : Fermer un process sans sa DLL

christophedlr

Membre Club
J'avais en effet mal posé ma question et je parlais en effet du petit 2.
Par ce que j'ai fait le test et quand je ferme la fenêtre principale (le fichier .EXE), automatiquement la fenêtre ouverte par la DLL (se trouvant dans celle-ci) est automatiquement fermé.

lundi 11 août 2008 à 17:23:39 | Re : Fermer un process sans sa DLL

florenth

Membre Club
Réponse acceptée !
Ahah,

Ce que Francky te dis, c'est que si deux applications utilisent la même dll, la fermeture de l'un n'entraîne pas la fermeture de l'autre.
Le système de mise à jour doit être un programme séparé qui s'occupe de fermer de programme principal, de télécharger, de remplacer l'exe et de le relancer.

Si tu n'as pas de dll dans ton projet, je ne vois pas l'intérêt d'en coder une.
Regarde plutôt ma source (que tu aurais trouvé tout seul si tu avais cherché un peu):

http://www.delphifr.com/codes/MISE-JOUR-APPLICATION-ASSISTANT-SIMPLE-RAPIDE_42534.aspx

A+
Flo

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.net [ Lien ]

lundi 11 août 2008 à 17:33:00 | Re : Fermer un process sans sa DLL
lundi 11 août 2008 à 17:58:13 | Re : Fermer un process sans sa DLL

Francky23012301

Membre Club
Que cela soit le 1), le 2), ou ta question (apres traduction ), tout s'explique avec ces 2 lignes de codes

Hdle:=LoadLibrary('MyDLL.dll'); //Charge la DLL
...........................................
FreeLibrary(Hdle); //Libère la DLL



En ce qui concerne les mots de Flo : il a raison. Une DLL est inutile et en plus n'a pas sa place . Pourquoi ? une DLL doit toujours etre concue dans l'optique meme de sa définition : un ensemble de fonctionnalités génériques pouvant etre intéressentes par un ensemble de programme. Faire une DLL qui n'aura d'intéret que pour un soft, n'a aucune raison d'etre : ce qui est le cas ici (Ton processus de download et de mise à jour ne sera pas utilisable par un autre développeur pour un projet différent). Pire : ca fait flippé l'utilisateur langda, ca encombre le HDD et en terme d'optimisation il y a mieux (sinon on ne ferait que des DLL).

lundi 11 août 2008 à 18:00:11 | Re : Fermer un process sans sa DLL

florenth

Membre Club
Et pis après le désinstalleur il enlève même pas les dll et ça pollue le disque (voire, pire, le répertoire system32) [ Lien ]

lundi 11 août 2008 à 18:18:29 | Re : Fermer un process sans sa DLL

christophedlr

Membre Club
Florenth,
Si tu utilises un bon installateur comme InnoSetup, il supprime les DLL si tu les lui à indiqué comme étant des fichiers à supprimer à la désinstallation.

Francky23012301,
Je suis pas d'accord avec toi.
Mon programme est actuellement composé d'un fichier EXE qui est le programme lui même et d'une DLL étant le format du fichier que j'enregistre.
Si je suis ce que tu dis, je dois tous rassembler en un fichier EXE, hors cela n'est pas l'idéale car celui-ci peut devenir énorme.
Le mieux étant toujours des fichiers de petites tailles, qui seront mis à jour indépendamment des autres, ce qui réduit le temps de téléchargement et permettre donc à ceux qui ont encore une petite connexion (oui il y a encore des 56K malheureusement), de faire rapidement la mise à jour.

Mais bon, je suis votre conseil, je suis entrain de faire un fichier EXE à part pour le système de mise à jour ;)

lundi 11 août 2008 à 18:58:36 | Re : Fermer un process sans sa DLL

Francky23012301

Membre Club
J'ai pas dis ca Christophe  : j'ai seulement dis qu'une DLL est un code binaire contenant des routines génériques. C'est une bibliothèque municipale contenant non pas de livres mais de fonctions : cette bibliotheque est destinée donc un public et non à une seule personne (Pour rester dans la caricature ). Dans ton cas tu as fais une bibliotheque municipale pour une seule personne.

Tu te dois effectivement faire cette procédure dans un EXE. Et pour finir une DLL ne devrait jamais contenir de forms directement .

lundi 11 août 2008 à 19:03:01 | Re : Fermer un process sans sa DLL

Francky23012301

Membre Club
Ah oui pour finir : Que tu es deux fichiers de 50Mo ou un seul de 100Mo ca ne change pas grand chose (pour pas dire rienà. Ce qui compte c'est de créer et libérer les objets en tant voulus (et pas uniquement à la création et à la fermeture du Main)
, d'avoir un code optimisé, évité les rafraichissements inutiles, utiliser les bonnes technologies ect ect


1 2

Cette discussion est classé dans : programme, dll, process, jour, fermer


Répondre à ce message

Sujets en rapport avec ce message

Form dans une Dll [ par bgK ] J'ai créé une Dll contenant une form delphi.A partir de mon application, je parviens à éxécuter cette form.Lorsque je clique sur la croix pour fermer utilisation des dlls [ par ak47 ] salut à tous!Je suis en train de faire un programme ki, entre autre, interpreterai des scripts, et j'aimerai utiliser les dll pour stocker toutes les Comment fermer un Process? [ par stel128 ] Salut, je suis en delphi et je tente desespérément comment faire pour fermer un process en cours,(exemple Mirc.exe), mais je n'y arrive pas, don je fa Controle d'interface par une DLL (ajout, retrait de composants) [ par kokonut ] Bonjour,J'ai recours à l'utilisation de DLLs pour un programme sous Delphi (bien sûr) et je me pose la question suivante :Est-il possible, pour un pro Reconnaitre et fermer une application sans handle [ par jmp77 ] Bonjour à tous et toues,Voilà je voudrais pouvoir retrouver tous les processes qui tournent sur mon pc. Pour les process qui ont un handle je sais à p qtinf.dll [ par fgreg306 ] Bonjour, qtinf.dll : Intéressante cette dll, n'est ce pas.Le problème c'est qu'il faut l'intégrer dans son programme d'installation et qu'elle n'occup comment jouer une music [ par takak ] bonjour,je cherche désepérément comment jouer une music dans un programme en delphi, qui s' ouvrirait et se jouerait en boucle dès l'ouverture du prog pb avec kernell32.dll au lancement d'un projet avec une BD [ par Animax77 ] Je créé un programme qui utilise une BD que j'ai fais sous Access, déclarée dans l'ODBC en Driver do Microsoft Access.Quand je lance l'appli sous mon violation d'acces à une DLL !!! [ par alexis2015 ] Voilà j'ai dvp un programme qui va permettre (une fois fini !) de modifier de manière facile et paramètrable la base des registres.g ai créé mon propr j'ai besoin d'aide "fermer une application avec une autre application kill process" [ par titoleboss ] Titolebossj'aimerai avant toute chose vous remercier par ce que garce au site et a tous ce qui le font j'ai pu apprendre beaucoup de chose ...enfin j


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.