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

GTK+ avec C & C++ Discussion :

"Souder" plusieurs processus


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Par défaut "Souder" plusieurs processus
    Bonjour, j'aimerais savoir comment faire pour "souder" plusieurs processus du même programme en un.

    Je m'explique : par exemple, Notepad++ ou DreamWeaver, quand on clique pour ouvrir, cela ouvre. Mais quand on clique pour la seconde fois, il n'y a pas de deuxième fenêtre qui s'ouvre. La première fenetre est juste activé.

    En plus si on prend le cas de DreamWeaver et qu'on prend deux fichier *.html différent, si on ouvre un et qu'on essaye d'ouvrir l'autre, non seulement à la fin il n'y aura qu'une fenêtre d'ouverte, mais en plus nos deux documents seront ouverts dans la même !!!!

    Voila, j'espere que vous avez compris !!! Tous les réponses seront le bienvenue

    PS : pour info, j'utilise GTK+

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Je doute que ce soit relatif au processus car on ne peut pas les fusionner à ce que je sache. Ce que tu veux faire si j'ai bien compris, c'est la possibilité d'ouvrir plusieurs documents dans la même fenêtre !

    Si c'est cela, tu peux utiliser des pages à onglets (GtkNotebook) et ouvrir un document par onglet, ce qui est fait très souvent, y compris dans notepad++ !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Par défaut
    Oui je l'ai déjà fait le système à onglet
    L'ennui c'est que quand j'ouvre deux documents différents, par exemple, j'obtient finalement deux fenêtres

    Voila, j'espère que vous avez plus compris dans quelle detresse je suis !!!

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par mick009 Voir le message
    Oui je l'ai déjà fait le système à onglet
    L'ennui c'est que quand j'ouvre deux documents différents, par exemple, j'obtient finalement deux fenêtres
    Mais si ca te fait une nouvelle fenêtre à chaque ouverture, c'est que c'est toi qui l'a programmé ainsi, GTK+ ne prend pas une telle initiative ! Montre le code d'ouverture de fichiers !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Par défaut
    Je sais tous ca que c'est moi qui doit programmer ce système !!!!
    Mais l'ennui je demande bien comment ???

    Mon programme d'ouverture est très long, mais en gros je crée une fenetre, si Argv est NULL, cela veut dire que le programme n'a pas été ouvert à cause d'un fichier et donc j'affiche un onglet ou il n'y aura rien comme texte.
    Si Argv vaut quelque chose je crée un onglet avec le contenu du fichier.

    L'ennui je ne vois pas comment interagir avec le processus déjà ouvert
    Vu que quand on ouvre une deuxieme fois le programme, toutes les variables n'existent pas puisque que c'est un "Nouveau" programme...

    Voila j'espere que vous avez compris ce que je voulais dire :p

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Quand tu ouvres un nouveau fichier tu le fait par quel biais ? Par la console en appelant une nouvelle fois le programme ou bien depuis une boîte de dialogue depuis le programme déjà ouvert ou .... ?

    Faut plus d'infos parce que là je patauge à mort
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Par défaut
    J'utilise Window !!
    Mais même si je rerouve le processus, j'aimerais toucher le processus, pour ajouter l'onglet avec le document...

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Par défaut
    J'ai eu une illumination cette nuit !!! ^^
    Je me suis en fait fixé sur les processus et ca m'a completement bolqué
    Mais en fait, au bout d'un moment, j'ai pensé que :

    1. ce sera difficile à programmer,
    2. Le code sera vraiment très très long !!!!
    3. Cela rique de ralentir le programmme pour peu

    Je vais donc utiliser les mutex (heureusement je programme sur Window, donc cela doit marcher ).
    Si le programme n'est pas encore ouvert, je l'ouvre normalement.
    Si il est déjà ouvert et que argv n'est pas NULL, je crée un fichier spécifique qui marque le lien du fichier.
    En attendant, la première fenêtre ouvert vérifie toutes les deux secondes par exemple, si ce fichier specifique existe ou pas. Si il existe il ouvre le lien qu'il y a à l'intérieur du fichier et le supprime ensuite. Sinon, il continue et continuera toujours de fonctionnner tout au long du programme jusqu'à la fin ^^

    Voila j'espère que vous avez compris et je met ce sujet comme résolu :p

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    http://live.gnome.org/SingleInstanceApps correspond peut être à ce que tu cherches

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Par défaut
    Qu'est-ce que c'est ????
    Ca remplace les Mutex de Window pour GTK+ ????
    Ou bien cela répond à ma demande (cad pouvoir toucher à un processus, lui mettre une fonction quoi) ????

  11. #11
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Ca permet de t'assurer qu'il n'y a qu'une unique instance de ton appli, ie quand tu relances le binaire une 2nde fois, ça te permet de réutiliser la version qui a déjà été lancée.

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

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