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

C# Discussion :

Utiliser les méthodes d'une application dans un autre programme c#


Sujet :

C#

  1. #1
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut Utiliser les méthodes d'une application dans un autre programme c#
    Bonjour ,


    tout d'abord merci de prêter attention à mon problème .

    Je vous explique j'ai un programme qui s'appel facture.exe qui gère toute les factures , déplacements etc... Je suis entrain de créer un programme qui doit récuperer le résultat d'une variable d'une fonction nombreDeDéplacement() afin d'imprimer ce résultat sur une feuille format A4 ( résultat prennant 4 ligne maxi) et laissant la possibilité à l'utilisateur de choisir où imprimer sur la page ( grâce à un fichier de conf indiquant juste 2,2 c'est à dire le nombre de colonne et ligne de la feuille )

    Je suis bloquée , ne sachant même pas par où commencer , n'arrivant même pas récupérer les résultats et méthodes de facture.exe . je suis désespérée svp aidez moi afin que je puisse commencer mon projet

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Pour moi la seule solution que tu as pour autant que tu es les sources de ton programme facture.exe, c'est de sortir les fonctions dont tu as besoin dans une librairie (dll) et de faire référence à celle-ci dans tes 2 projets.

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    c'est de sortir les fonctions dont tu as besoin dans une librairie (dll) et de faire référence à celle-ci dans tes 2 projets.
    Créer une librairies est tout à fait logique dans le principe, mais on peut directement mettre l'exe en référence .

  4. #4
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Créer une librairies est tout à fait logique dans le principe, mais on peut directement mettre l'exe en référence
    Alors la Graffito tu m'apprends encore un truc intéressant ... Vraiment à tester.
    Et je suppose que l'exe peut-être écris dans un autre langage ?

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    La seule condition est un programme compilé en environnement .net. Donc un exe développé en vb.net doit pouvoir être référencé.

  6. #6
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    Merci merci pour vos conseils !!!

    Le problème d'ajouter le .exe j'ai testé mais ça ne marche pas car mon facture.exe est développé en c++ et sur l'environnement Qtcreator . Lorsque j'ajoute mon .exe il me demande d'ajouter une référence mingmw10.dll et lorsque je tente de l'ajouter cela me met un message d'erreur !
    Je pense donc que c'est parce que ce n'est pas le même langage non ?

    Et pour ajouter une .dll comment je peux faire ?

    Merci du temps que vous m'accorder

  7. #7
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Pour la dll, il fait d'abord la développer. Ce qui veut dire vu que ce n'est pas le même langage réécrire les fonctions dont tu as besoin.

    Tu ne peux pas utiliser le même langage que celui utilisé pour l'exécutable existant ?

  8. #8
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    merci de ta réponse infosam76 ! donc si je comprend bien il faut que je réecrive mes fonctions utilisées dans facture.exe en langage c# et en faire une dll pour pouvoir les utiliser ?

    Il serait plus simple en effet de développer mon nouveau programme dans le même langage c'est à dire le c++ ( que je ne maitrise pas du tout je viens juste de l'apprendre ) or je veux que mon programme aille cherche un fichier et demande à l'utilisateur où il veux l'imprimer sur une feuille autant dire quand on débutant un c++ pas du tout simple

    merci de vos réponses

  9. #9
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Est ce qu'il n'est pas imaginable que ce soit le programme facture.exe qui génère le fichier à imprimer et le place dans un répertoire défini.

    Ton programme d'impression pourrait s'exécuter automatiquement (soit par le gestionnaire de tâche de Windows , soit par un timer), scanner ce répertoire et si des fichiers existent dans le répertoire, les imprimer (dans mon job c'est ce qu'on appelle une passerelle)

  10. #10
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    mon fichier facture.exe génère le fichier à imprimer et le place déjà dans un répertoire et ensuite lance l'application externe impression.exe et s'éxécute

    or mon problème dans impression.exe et de récupérer le résultat d'une fonction dans facture.exe qui permet de choisir à travers un fichier de paramètre la bonne partie à imprimer

  11. #11
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    D'accord, tu pourrais alors envisager que ton programme facture.exe sorte le résultat de cette fonction sous forme d'un fichier que ton application pourrait lire.

    Ici nous utilisons des système similaire notamment pour les lots scannés par les scanners avaleurs :

    Tout les fichiers résultant du scannage sont placés dans un répertoire, et dans ce même répertoire nous avons un fichier .ini avec les informations concernant le lot scanné. Je vois bien le même système dans ton cas.

  12. #12
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    oui j'avais bien pensé à cette option , or mon fichier que mon programme facture.exe change de nom en fonction du type de paramètrage ( c'est une application déjà existante : plusieurs possibilités en fonction d'un cd )
    l'application gère déjà tout pour le fichier à imprimer j'ai juste a récupérer un return d'une fonction et gérer l'impression .

    je pense le faire en c++ , or je n'arrive même pas à appeler mon application car je ne connais pas trop le langage

  13. #13
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    La même si j'ai été reconnu co sénior c++ (à 30 ans tu prends un coup de vieux d'un coup) il y a quelques années, je ne saurais pas trop t'aider, trop longtemps que je n'ai plus pratiquer

  14. #14
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    As-tu regardé du côté d'IPC ? Inter-Process Communication between C# and C++ using named pipes. Cela permet de communiquer entre plusieurs applications.

    Sinon si tu veux éviter de t'embarquer dans des solutions trop complexes, tu peux passer par un Web Service WCF + MSMQ par exemple, ou encore par une base de données intermédiaire.

  15. #15
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    merci pour votre aide !

    j'ai décidé de commencer à le développer en c++ , donc repartir de zéro . j'y ai passé une journée complète sans avancer ..

    j'ai créer un nouveau projet et pour l'instant j'ai juste insérer mes classes dans mon nouveau programme , je ne sais même pas comment faire pour imprimer ni afficher le résultat dans un listview

    autant dire que c'est la panique ! si quelqu'un peux m'aidez

  16. #16
    Membre éprouvé
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2005
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 366
    Points : 1 033
    Points
    1 033
    Par défaut
    Juste une question comme ca, ta méthode dans facture.exe elle reçois en paramètre la valeur du fichier de config ou bien cette valeur est-elle lue et placée dans une variable au boot de facture.exe ?

    Par ce que le truc qui me chipote, c'est cette fameuse fonction dont on ne connait pas la signature. Donc, difficile de dire si oui ce que tu veux faire fonctionnera ou non.

    Si ta fonction récupère une variable global de facture.exe, je ne pense pas qu'elle puisse fonctionner en dehors de son contexte applicatif.

  17. #17
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Points : 625
    Points
    625
    Par défaut
    Salut,
    tu as les interop aussi qui peuvent t'aider;
    je ne m'en suis servi que pour les DLL windows mais tu devrais pouvoir récupérer en c# les méthodes de ton exécutable :
    http://nico-pyright.developpez.com/t...2005/interop2/

    j'ai pris le premier tutoriel venu mais il y en a pas mal sur le web, cherche avec les mots clef "wrapper" et "interop"

Discussions similaires

  1. Utiliser les valeurs d'une requete dans une autre requete ?!
    Par nekro65 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2009, 11h16
  2. Réponses: 5
    Dernier message: 07/03/2008, 19h46
  3. utiliser les attribut d'une classe dans une autre classe
    Par kaissaoui dans le forum Langage
    Réponses: 11
    Dernier message: 18/07/2007, 15h13
  4. Réponses: 3
    Dernier message: 08/10/2006, 11h05
  5. Réponses: 1
    Dernier message: 10/05/2006, 19h45

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