Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fermeture d'une appli +DLL utilisée

4 réponses
Avatar
Damien DEFEUX
Bonjour,

J'ai une application en VB5 qui lance une DLL pour communiquer avec le port
com, lorsque je veux fermer l'application (END) ça plante. Il faut faire un
Ctrl +Alt + Suppr. Comment faire pour quitter le programme ? Par quoi
remplacer le END pour fermer sauvagement l'application ?

Merci d'avance.

Damien DEFEUX

4 réponses

Avatar
Patrice Henrio
Damien DEFEUX a écrit :
Bonjour,

J'ai une application en VB5 qui lance une DLL pour communiquer avec le port
com, lorsque je veux fermer l'application (END) ça plante. Il faut faire un
Ctrl +Alt + Suppr. Comment faire pour quitter le programme ? Par quoi
remplacer le END pour fermer sauvagement l'application ?

Merci d'avance.

Damien DEFEUX




Il ne faut pas fermer sauvagement une application, sous peine de voir
rester en mémoire des morceaux de code, de variables, d'objets et des dll.

Une application se ferme lorsqu'elle a fini son traitement

Plus simplement


dim application as new application_cls

application.initialisation

do
application.traitement
if application.fin then exit do
loop


Application est donc un objet pour lequel sont définis diverses méthodes
(traitements et en particulier initialisation). On défini de plus une
propriété fin qui est un booléen indiquant si les traitements sont finis
Avatar
Damien DEFEUX
"Patrice Henrio" a écrit dans le message de
news:
Damien DEFEUX a écrit :
Bonjour,

J'ai une application en VB5 qui lance une DLL pour communiquer avec le
port com, lorsque je veux fermer l'application (END) ça plante. Il faut
faire un Ctrl +Alt + Suppr. Comment faire pour quitter le programme ? Par
quoi remplacer le END pour fermer sauvagement l'application ?

Merci d'avance.

Damien DEFEUX


Il ne faut pas fermer sauvagement une application, sous peine de voir
rester en mémoire des morceaux de code, de variables, d'objets et des dll.

Une application se ferme lorsqu'elle a fini son traitement

Plus simplement


dim application as new application_cls

application.initialisation

do
application.traitement
if application.fin then exit do
loop


Application est donc un objet pour lequel sont définis diverses méthodes
(traitements et en particulier initialisation). On défini de plus une


>propriété fin qui est un booléen indiquant si les traitements sont finis



Le soucis c'est que malgrés l'api "abort" de ma DLL celle-ci ne veut pas
rendre la main à mon programme ce qui fait que je suis bloqué. Lorsque le
programme lance la communication via la DLL ça fonctionne bien, mais à un
moment il faut bien fermer l'appli est là comment faire.

PS je suis en VB5

Damien



Avatar
Patrice Henrio
Damien DEFEUX a écrit :
"Patrice Henrio" a écrit dans le message de
news:
Damien DEFEUX a écrit :
Bonjour,

J'ai une application en VB5 qui lance une DLL pour communiquer avec le
port com, lorsque je veux fermer l'application (END) ça plante. Il faut
faire un Ctrl +Alt + Suppr. Comment faire pour quitter le programme ? Par
quoi remplacer le END pour fermer sauvagement l'application ?

Merci d'avance.

Damien DEFEUX


Il ne faut pas fermer sauvagement une application, sous peine de voir
rester en mémoire des morceaux de code, de variables, d'objets et des dll.

Une application se ferme lorsqu'elle a fini son traitement

Plus simplement


dim application as new application_cls

application.initialisation

do
application.traitement
if application.fin then exit do
loop


Application est donc un objet pour lequel sont définis diverses méthodes
(traitements et en particulier initialisation). On défini de plus une


>propriété fin qui est un booléen indiquant si les traitements sont finis



Le soucis c'est que malgrés l'api "abort" de ma DLL celle-ci ne veut pas
rendre la main à mon programme ce qui fait que je suis bloqué. Lorsque le
programme lance la communication via la DLL ça fonctionne bien, mais à un
moment il faut bien fermer l'appli est là comment faire.

PS je suis en VB5

Damien




c'est donc la dll qui est mal programmée car elle-même devrait suivre
les mêmes principes que l'application. Le fait d'être en VB5 ne change
rien à ces principes qui s'appliquaient déjà en Pascal.
Le processus Abort ne me parait pas la manière la plus saine de sortir
d'une dll.



Peut-être un problème de boucle folle dans la dll ? C'est souvent le
cas. Ou alors un retour de dll qui n'est pas ce qui est attendu.
Avatar
Patrice Henrio
Damien DEFEUX a écrit :
"Patrice Henrio" a écrit dans le message de
news:
Damien DEFEUX a écrit :
Bonjour,

J'ai une application en VB5 qui lance une DLL pour communiquer avec le
port com, lorsque je veux fermer l'application (END) ça plante. Il faut
faire un Ctrl +Alt + Suppr. Comment faire pour quitter le programme ? Par
quoi remplacer le END pour fermer sauvagement l'application ?

Merci d'avance.

Damien DEFEUX


Il ne faut pas fermer sauvagement une application, sous peine de voir
rester en mémoire des morceaux de code, de variables, d'objets et des dll.

Une application se ferme lorsqu'elle a fini son traitement

Plus simplement


dim application as new application_cls

application.initialisation

do
application.traitement
if application.fin then exit do
loop


Application est donc un objet pour lequel sont définis diverses méthodes
(traitements et en particulier initialisation). On défini de plus une


>propriété fin qui est un booléen indiquant si les traitements sont finis



Le soucis c'est que malgrés l'api "abort" de ma DLL celle-ci ne veut pas
rendre la main à mon programme ce qui fait que je suis bloqué. Lorsque le
programme lance la communication via la DLL ça fonctionne bien, mais à un
moment il faut bien fermer l'appli est là comment faire.

PS je suis en VB5

Damien




Il serait sans doute bon que tu indiques comment tu appelles la dll dans
ton application.