wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 4

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Template / Patron d'application console
Conversation : Template / Patron d'application console
06-01-2010 17:42:43  Template / Patron d'application console #1
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour, et bonne wxAnnée à toutes et à tous.

Xaviou, que cette année soit prospère pour tes projets et notamment ce site!
Je te remercie vivement pour tous les efforts que tu fais, et particulièrement pour l'installeur de libs et l'assistant de nouveau projet que j'utilise régulièrement.
Par contre, y a t-il un moyen simple pour utiliser le résultat de cet assistant pour obtenir une application de type console (wxConsoleApp)??

J'ai essayé succinctement mais sans résultat. Quelqu'un a-t-il une idée?
Je vous remercie,

wxThomas.
07-01-2010 20:57:27  Re: Template / Patron d'application console #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Hello

En attendant que je trouve le temps de me pencher sur l'assistant pour le modifier (et peut-être le compléter, depuis le temps :/ ) : tu utilises quelles options ?
- Windows / Linux (je suppose que c'est Windows, comme la partie Linux de l'assistant n'a jamais été finalisée)
- Code::Blocks / Visual C++
Avec ces infos, je pourrais faire le test et te donner les modifs à apporter au projet de base pour une app console.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
07-01-2010 22:03:32  Re: Template / Patron d'application console #3
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
Re-salut Xaviou,
Pour moi c'est windows et Visual Studio. j'ai cherché un peu sur la toile mais j'ai rien trouvé comme template.
07-01-2010 22:15:08  Re: Template / Patron d'application console #4
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Bon, je viens de faire le test avec les paramètres suivants :
- Code::Blocks sous Windows
- wxWidgets 2.8.10
- Unicode
- Libs dynamiques

Après avoir créé le projet avec l'assistant du site, voici la méthode à suivre pour obtenir une application console :
- Supprimer les fichiers correspondants à la wxFrame
- Supprimer le code de création de la frame dans le OnInit() de l'application, ainsi que l'include du header de cette frame
- Dans le menu "Project" => "Properties", onglet "Build targets", passer le type d'application à "Console Application" pour les deux cibles (Debug, Release)
- Éventuellement, cocher la case "Pause when execution ends" pour les deux cibles
- Dans le menu "Project" => "Build options", onglet "Linker settings", ne laisser que la lib  wxBase pour les deux cibles (Debug, Release)
- Modifier le code de l'application de la façon suivante :

Tout d'abord, la classe dont dérive notre application n'est plus wxApp, mais wxAppConsole
La macro de déclaration, dans le fichier cpp, n'est plus IMPLEMENT_APP mais IMPLEMENT_APP_CONSOLE (par contre, la macro DECLARE_APP optionnelle ne change pas)
Il faut, en plus de la méthode "OnInit()", ajouter une méthode "OnRun()" dans laquelle devra être placé le code principal à exécuter
La méthode OnInit reste à utiliser pour les initialisations, et si elle retourne false, l'exécution s'arrêtera.

Ce qui donne :
Header de la classe d'application

Code wxWidgets:

#ifndef MYTESTAPP_H_INCLUDED
#define MYTESTAPP_H_INCLUDED
 
#include <wx/app.h>
 
class MyTestApp : public wxAppConsole
{
    public:
        virtual bool OnInit();
        virtual int OnRun();
};
 
#endif //MYTESTAPP_H_INCLUDED
 
DECLARE_APP(MyTestApp);


Source de la classe d'application

Code wxWidgets:

#include "MyTestApp.h"
 
IMPLEMENT_APP_CONSOLE(MyTestApp);
 
bool MyTestApp::OnInit()
{
    wxPuts(_T("On est dans la fonction MyTestApp::OnInit()."));
    return true;
}
 
int MyTestApp::OnRun()
{
    wxPuts(_T("On est dans la fonction MyTestApp::OnRun()."));
    return 0;
}


La valeur retournée par la méthode OnRun() correspond au code retourné à la console à la fin de l'exécution du programme.

Voilà, j'espère que ça t'aidera.
Si ce n'est pas le cas, n'hésites pas...

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
07-01-2010 22:30:31  Re: Template / Patron d'application console #5
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Oups ! J'ai mis tellement de temps à écrire ma réponse que je n'avais pas vu la tienne.
Je n'ai malheureusement plus Visual C++ sous la main, mais les indications ci-dessus peuvent déjà t'aiguiller...

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Template / Patron d'application console