IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

[Visual Basic] imposibilité de fermer un dialogue avec endExecute() [LibreOffice]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre à l'essai
    Homme Profil pro
    amateur autodidacte parfait (et total !)
    Inscrit en
    Juillet 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : amateur autodidacte parfait (et total !)

    Informations forums :
    Inscription : Juillet 2015
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [Visual Basic] imposibilité de fermer un dialogue avec endExecute()
    Bonsoir,

    toujours dans mon problème d'adaptation de mes routines Excel vers LibreOffice, je ne parviens pas à fermer une boite de dialogue personnalisée à partir d'un simple bouton 'Cancel' auquel est relié via l'événement "Bouton de la souris enfoncé" une macro "FermetureFormBasic"... j'ai pourtant repris l'exemple sur un tuto de developpez.com, mais ça ne le fait pas.

    Pour faire simple, ça démarre ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    sub Main
     
    BasicLibraries.LoadLibrary("Tools")
    oDlgOuvrir = LoadDialog("Standard", "dlgOuvrir")
     
    .../ CODE ICI /...
     
       	oDlgOuvrir.Execute()
     
    .../ CODE LA /...
     
    End Sub
    Là aucun problème, ma boite de dialogue s'ouvre bien...

    Plus loin, quand je clique sur le bouton 'Cancel', j'appelle la macro suivante (qui est bien appelée car le msgbox me l'indique) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub FermetureFormBasic 
      'Ferme la boîte de dialogue 
      msgbox "Fermer..."
     
      oDlgOuvrir.endExecute()
     
      'Libère les ressources   
      oDlgOuvrir.Dispose() 
    End Sub
    Mais là, rien ! D'ailleurs, si je teste la méthode setTitle(), je n'ai rien non plus ! Donc a priori la boite de dialogue ne répond plus.

    Quelqu'un saurait il me dire où je me trompe (car je pense que c'est bien là que ça e va pas, je ne fais pas bien qlq chose...) s'il vous plait ?

    Plus généralement, et comme je démarre avec le Basic sous LibreOffice, où puis-je trouver un lexique ou une ressource qui décrive la syntaxe et l'usage des éléments de ce langage ? J'ai bien l'équivalent pour le VBA microsoft, mais ce qui me manque ce sont les spécificités LibreOffice, qu'il s'agisse des éléments pour créer des boites de dialogues et de leurs propriétés et méthodes, ou des fonctions utilisables dans les modules etc etc...

    Merci beaucoup pour votre aide.

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Salut,

    As-tu essayé sans les parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub FermetureFormBasic 
      'Ferme la boîte de dialogue 
      msgbox "Fermer..."
     
      oDlgOuvrir.endExecute
     
      'Libère les ressources   
      oDlgOuvrir.Dispose 
    End Sub
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre à l'essai
    Homme Profil pro
    amateur autodidacte parfait (et total !)
    Inscrit en
    Juillet 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : amateur autodidacte parfait (et total !)

    Informations forums :
    Inscription : Juillet 2015
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Hello Zoom61,

    oui, avec ou sans, c'est pareil pas moyen de fermer cette maudite boite de dialogue... Je suis sous LibreOffice 4.2.8.2 - Ubuntu. Pourrait il y avoir un bug à ce niveau ?

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Serait-il possible d'avoir une maquette du fichier, car le code paraît correct...
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Membre à l'essai
    Homme Profil pro
    amateur autodidacte parfait (et total !)
    Inscrit en
    Juillet 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : amateur autodidacte parfait (et total !)

    Informations forums :
    Inscription : Juillet 2015
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Hello Zoom61,

    bon, changement de problème ! Je viens de me rendre compte que la déclaration de l'objet oDlgOuvrir n'était pas globale mais que je l'avais fait dans le corps de la routine Main...

    Donc maintenant je peux la fermer (via le bouton cancel du formulaire), ma boite de dialogue... MAIS...

    Libre Office plante également à chaque tentative de fermeture

    Bref, je sors d'un problème pour tomber sur un autre. Je joins donc un petit fichier sur lequel j'ai fais l'essai et qui ne fonctionne pas mieux (plantage systématique dès la fermeture du dialogue effectuée). Là, je ne vois vois vraiment pas où peut être le souci.
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Il te suffit de supprimer oDlgOuvrir.Dispose
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    Membre à l'essai
    Homme Profil pro
    amateur autodidacte parfait (et total !)
    Inscrit en
    Juillet 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : amateur autodidacte parfait (et total !)

    Informations forums :
    Inscription : Juillet 2015
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Ha ben oui... Mince alors !

    OK c'est bien cela... Par contre je n'ai pas dû comprendre l'intérêt de l'usage de cette méthode. Il me semblait qu'i fallait l'utiliser après un endExecute pour libérer la mémoire utilisée lors de création... Ou alors c'est un bug ??

    Merci en tout cas. Je pense que je vais enfin pouvoir finir mon application.

  8. #8
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Cette instruction est utile avec les inputbox pour connaître en cas d'erreur.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Multithreading avec Visual Basic pour Access
    Par NoViceDel dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/10/2006, 21h18
  2. Réponses: 5
    Dernier message: 12/06/2006, 09h31
  3. problème sql avec les concepteurs visual basic
    Par Le Rebel dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/05/2006, 10h25
  4. Réponses: 4
    Dernier message: 31/01/2006, 17h59
  5. [Excel] Courbes sous Excel avec Visual Basic
    Par françoisc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/05/2005, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo