

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
9 messages in org.openoffice.fr.progRe: [prog] [PROG] Quitter proprement ...| From | Sent On | Attachments |
|---|---|---|
| Galiacy Sébastien | Jul 21, 2005 11:29 am | |
| Laurent Godard | Jul 21, 2005 12:13 pm | |
| Galiacy Sébastien | Jul 21, 2005 2:02 pm | |
| Laurent Godard | Jul 22, 2005 1:36 am | |
| Galiacy Sébastien | Jul 22, 2005 5:37 am | |
| Bernard Marcelly | Jul 22, 2005 7:28 am | |
| Laurent Godard | Jul 22, 2005 7:35 am | |
| Galiacy Sébastien | Jul 23, 2005 12:10 am | |
| Didier Dorange-Pattoret | Feb 20, 2006 2:38 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] [PROG] Quitter proprement Open office 1.14 par une macro | Actions... |
|---|---|---|
| From: | Bernard Marcelly (marc...@club-internet.fr) | |
| Date: | Jul 22, 2005 7:28:39 am | |
| List: | org.openoffice.fr.prog | |
Bonjour Galiacy Sébastien Message du 2005-07-22 14:37:
Toutes les macro sont dans le document
Et la macro lier au bouton est assez simple
MonDocument = ThisComponent 'on Error Resume Next 'MonDocument.Close(True) 'On Error GoTo 0 'MonDocument.setModified(false) stardesktop.terminate()
La je viens d'essayer celle ci, je n'ai plus le message du fichier modifié et ca ferme bien le document, mais ca plante OOo et j'ai droit au rapport de bug
Petites remarques : ton code ne ferme pas le document puisque les instructions sont en commentaires ;) de plus il faut faire setModified(false) avant de fermer le document, pas après.
Je viens de relire un grand nombre de messages anglais autour de StarDesktop.terminate(). Typiquement, un intervenant dit qu'on doit l'employer pour fermer soffice, un autre se plaint qu'il a un message d'erreur et rapport de bug automatique.
Je pense que c'est une bogue d'OpenOffice.org (qui persiste sur 1.9.113), probablement dûe à ce qu'on se trouve dans une situation bizarre : on vient de fermer le dernier document, mais on continue la macro qui a été lancée depuis ce document. OOo chercher sans doute une référence qui n'existe plus.
Après avoir constaté ce problème sur un document minimal, j'ai mis dans le conteneur soffice une macro qui ne fait que StarDesktop.terminate(). Je ferme tous les documents en laissant la fenêtre OOo. Cette macro est encore accessible. Si je la lance maintenant, OOo se termine bien (plus de processus soffice), et sans erreur.
En conclusion, StarDesktop.terminate() ne marche pas s'il est exécuté depuis une macro lancée par un document. Il marche depuis une macro lancée "en résident".
Alors que faire ? Sous Win XP, je constate que si je me contente de fermer le document par macro _sans_ utiliser StarDesktop.terminate() la fenêtre se ferme, mais il reste un processus soffice. Si je relance OOo en rouvrant le document, il y a encore un seul processus soffice. Si je ferme le document par la macro, la fenêtre se ferme et il y a toujours un processus soffice en cours. Donc on ne perd pas plus de mémoire, alors autant laisser courir, 37Mo de RAM c'est plus rien de nos jours.
Remarque : tout ceci à condition qu'on n'emploie pas le Démarrage rapide d'OOo. Il est impossible de fermer OOo s'il y a le démarrage rapide.
Bonne journée Bernard







