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++Builder Discussion :

Application gui et console (en meme temps)


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Par défaut Application gui et console (en meme temps)
    bonjour,
    je travaille sur un project personel avec borland 6, j'utilise borland avec les TFORM.
    Je voudrais savoir si il est possible de faire ça:

    Si mon programme est lancer avec au moin 1 argument alors lancé une version console.
    Sinon lancé le programme en version GUI avec les Tform.

    voila merci.

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    bonsoir
    aucun problème
    la VCL prévoit des fonctions permettants de connaitre le nombre d'arguments passés en ligne de commande
    ParamCount
    les arguments sont un tableau de string
    ainsi Paramstr(0) retourne le nom complet de l'application
    ParamStr(1) le premier argument, et ainsi de suite
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Par défaut
    oui , heu
    bien je savais cela

    mon probleme est que je n'ai aucune idée dans la façon de procceder pour interrompre le lancement de l'appli grapique, et prendre la main fassons console.

  4. #4
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    bonsoir
    je n'avais pas compris le sens de ta question
    pour moi la solution est relativement simple
    tu crées 2 application , 1 en mode GUI basée sur la VCL et l'autre en mode console
    le test pour passer du mode GUI ou Console se fait de la manière suivante
    dans le fichier cpp principal de ton application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
    	try
    	{
    	 if (ParamCount())
    	 {
    	   ShellExecute(NULL,"open","MyConsole.exe","","",SW_SHOW);
    	 }
    	 else
    	 {
    		Application->Initialize();
    		Application->CreateForm(__classid(TForm7), &Form7);
    		Application->Run();
    	 }
    	}
    	catch (Exception &exception)
    	{
    		Application->ShowException(&exception);
    	}
    	catch (...)
    	{
    		try
    		{
    			throw Exception("");
    		}
    		catch (Exception &exception)
    		{
    			Application->ShowException(&exception);
    		}
    	}
    	return 0;
    }
    la console utilisée s'appelle dans ce cas ci MyConsole.exe
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  5. #5
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par défaut
    Citation Envoyé par DjmSoftware
    bonsoir
    je n'avais pas compris le sens de ta question
    pour moi la solution est relativement simple
    tu crées 2 application , 1 en mode GUI basée sur la VCL et l'autre en mode console
    le test pour passer du mode GUI ou Console se fait de la manière suivante
    dans le fichier cpp principal de ton application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
    	try
    	{
    	 if (ParamCount())
    	 {
    	   ShellExecute(NULL,"open","MyConsole.exe","","",SW_SHOW);
    	 }
    	 else
    	 {
    		Application->Initialize();
    		Application->CreateForm(__classid(TForm7), &Form7);
    		Application->Run();
    	 }
    	}
    	catch (Exception &exception)
    	{
    		Application->ShowException(&exception);
    	}
    	catch (...)
    	{
    		try
    		{
    			throw Exception("");
    		}
    		catch (Exception &exception)
    		{
    			Application->ShowException(&exception);
    		}
    	}
    	return 0;
    }
    la console utilisée s'appelle dans ce cas ci MyConsole.exe
    cordialement
    perso, j'ai un doute que ca soit cela qu'il veux.
    je pense qu'il veux regrouper les TForm et la console dans un meme exe...
    et lancer le GUI si on lance le programme en doublecliquant et lancer la console en lancant en ligne de commande.
    mais c'est mon avis perso...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Par défaut
    exact, Flob91, c'est plutot l'idée vers laquelle je souhaitais m'orienter.

    En effet faire 2 programe et utiliser l'un pour lancer l'autre dans certain cas.
    Ce n'est vraiment pas ce que je souhaite lol


    quand on fait ça :
    #include <stdio.h>
    [...]

    try
    {
    if (ParamCount())
    {
    printf("coucou\n");
    }
    else
    {
    Application->Initialize();
    Application->CreateForm(__classid(TForm7), &Form7);
    Application->Run();
    }
    On obtient pas le printf, car je pense que l'on est dans un processus fils de cmd.exe et plus dans le pere.

    De plus je viens de reflechir, et je me demande..
    Mon application utilise les composants, TServerSocket et TClientSocket.
    Mais ils seront inutilisable si on ne lance pas l'appli graphique ??

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

Discussions similaires

  1. Application cliente et serveur en meme temps avec socket
    Par anzid dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 10/02/2015, 12h24
  2. Réponses: 3
    Dernier message: 27/06/2012, 13h49
  3. Deux application qui s'executent en meme temps
    Par étoile de mer dans le forum Débuter
    Réponses: 8
    Dernier message: 20/10/2009, 00h07
  4. déployer redemption en meme temps que son application
    Par bobby51 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 25/03/2009, 14h03
  5. Réponses: 3
    Dernier message: 05/05/2007, 17h53

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