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 :

Cours de prog C++ pour maintenir du code existant


Sujet :

C++

  1. #1
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut Cours de prog C++ pour maintenir du code existant
    Bonjour,

    je cherche d'urgence un cours de C++ et options avancées sur la Belgique pour réaliser la maintenance et la modification de code écrit par un ancien collaborateur en Borland C++ Builder.
    Ce code n'est pas du tout documenté mais ne semble pas d'une complexité extrême, avec mon regard d'informaticien non formé au C++.

    Je suis développeur en différents langages sur différentes plateformes depuis très longtemps, ai déjà pratiqué le C il y a quelques années, et suit actuellement entre autres développeur en VBA Excel et Access, ceci pour expliquer que mon niveau de programmation n'est pas du tout débutant et que mes besoins pourraient être spécifiques.

    Si d'aventure quelqu'un avait un organisme ou une personne compétente à me conseiller sur la Belgique Francophone, j'en serais ravi.

    (pour la petite histoire j'étais inscrit à une formation chez des gens très connus, mais ma formation vient d'être déprogrammée pour le 2ème fois de suite. )

    Bonne journée.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Je n'ai jamais cru en l'utilité des formations d'initiation. Économise ton argent, achète un bouquin; pendant 2 jours, isole-toi et lis-le sérieusement. Après cela, plonge-toi dans le code que tu dois maintenir. Si ça ne suffit pas, achète les bouquins de Scott Meyers que tu liras en tâche de fond. Ou mieux va simplement lire les cours et tutoriels C++ : http://cpp.developpez.com/cours/ et aussi la FAQ C++ : http://cpp.developpez.com/faq/ .

    Une fois que tu te seras confronté à des vraies questions sur le C++, paye-toi une formation. Les réponses que tu obtiendras s'imprimeront mieux si elles liées à un problème que tu as rencontré. Et il vaut bien mieux faire des formations "avancées", avec des infos que tu ne trouves pas dans le 1er bouquin venu.

  3. #3
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Merci pour ton aide.
    Et il vaut bien mieux faire des formations "avancées"
    Mon problème est généralement le suivant, sans prétention aucune, mais est certainement lié aux formateurs que l'on m'attribue en général malgré mes demandes préalables très explicites : "Mes questions restent sans réponse car au delà des compétences du formateur qui n'aborde jamais ce type de problématique";

    Quand en plus c'est toi qui en apprend au formateur (ce qui ne peut être le cas en C++ car je n'y connais quasi rien du tout), cela fiche lègèrement le bourdon de perdre ton temps à ce point.

    Bon , pensons positif maintenant.

    A part les sources, je pars de 0.

    Vers quel type de compilateur dois-je me diriger et quel bouquin ou quel outil aborder pour pouvoir décortiquer ces sources composées de manière morcelée et non documentée ?

    Pour l'instant, à part ouvrir les différents fichiers présents dans un répertoire et essayer de voir avec Notepad+= qui des .dcr, .h, .bpr, .cgl, .clp, .cpp, .res, .tds, .vsd, .ddp et autres contiennent une partie de la source, je ne sais pas trop par où commencer à regarder.

    J'en suis à ce stade.

    une fois que j'aurai sous la main toutes les parties du code, en partant du module principal je suppose, je commencerai à comprendre qqchose.

    -----Edit-----
    Bon,

    je suis en train de lire le guide de Alp Mestan, comment bien débuter en C++, j'espère me dépatouiller avec cela pour commencer.

    Merci aussi pour le lien vers les cours C++ : http://cpp.developpez.com/cours/ ça à l'air génial

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Quand en plus c'est toi qui en apprend au formateur (ce qui ne peut être le cas en C++ car je n'y connais quasi rien du tout), cela fiche lègèrement le bourdon de perdre ton temps à ce point.
    C'est le problème des formations : chaque élève vient avec ses problèmes et pose les questions qui le concerne...

    Au fait, j'ai trouvé Egilia, en Belgique.
    Le cours de 1er niveau te donne une idée de ce qu'il te faut apprendre dans les bouquins.

    Citation Envoyé par Godzestla Voir le message
    A part les sources, je pars de 0.
    Faire de la rétro-ingénierie sur du code non documenté, ce n'est déjà pas marrant, mais quand tu ne connais pas le langage...

    Citation Envoyé par Godzestla Voir le message
    Vers quel type de compilateur dois-je me diriger et quel bouquin ou quel outil aborder pour pouvoir décortiquer ces sources composées de manière morcelée et non documentée ?
    Es-tu sur Linux ou Windows ? Ce code est-il supposé être portable ?
    Si c'est purement du Windows, vas vers Visual C++. Il y a un outil qui va te reconstruire tant bien que mal le diagramme de classes, mais pas aussi bien qu'un outil dédié.

    Citation Envoyé par Godzestla Voir le message
    Pour l'instant, à part ouvrir les différents fichiers présents dans un répertoire et essayer de voir avec Notepad+= qui des .dcr, .h, .bpr, .cgl, .clp, .cpp, .res, .tds, .vsd, .ddp et autres contiennent une partie de la source, je ne sais pas trop par où commencer à regarder.
    Je ne connais pas Borland C++, mais à part les .h et les .cpp qui sont tes sources, tout le reste est lié à la façon dont Borland gère ses projets. Au mieux à convertir, au pire à supprimer.

    Citation Envoyé par Godzestla Voir le message
    J'en suis à ce stade.
    Tu as l'environnement Borland d'origine pour voir comment a été foutu le projet ?

    Est-ce un exécutable, ou une bibliothèque ? Si c'est un exécutable, est-il en mode console ? Je suppose que tu disposes du "produit fini".

    Important à déterminer : y a-t-il des bibliothèques externes qui sont utilisées ? Si oui, y en a-t-il parmi elles qui sont de Borland ? Dans le dernier cas, ça complique les choses...

  5. #5
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Merci pour toutes ces réponses.

    Je te répond brièvement car j'ai un rdv urgent. je détaillerai ce soir ou demain.

    je suis sous windows, je n'ai pas l'environnement Borland de dévelopement mais je vais vérifier si je n'ai pas une coipie.

    Sans être ceratin de comprendre le sens de portable, je pense que le code ne doit pas l'être.

    Toutes les applis doivent tourner sur un PC windows et accéder à des fichiers windows, ou assimilé (disque virtuel Système IBM i5).

    Je crains bien qu'il y ai des bibliothèques externes spécifiques Borland, mais je suis incapable de le confirmer actuellement.

    Je me sauve et reviens dès que possible.

    Encore merci pour ton aide : la jungle s'éclaircit un peu.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Éventuellement, tu peux télécharger la version démo de C++Builder XE.
    Je ne sais pas ce que vaut ce produit, qui est peut-être très bien, mais en tout cas pas très répandu. Peut-être devrais-tu faire une recherche ou lancer un post sur la comparaison C++Builder/Visual C++.

    Si le code utilise des composants Borland et que tu as encore C++Builder v6, peut-être devrais-tu attendre avant de changer d'environnement, pour te laisser le temps de te familiariser avec le langage et le projet. Car reconstruire un projet qui utilise des composants propriétaires, ça peut être chaud pour quelqu'un qui ne connaît pas le langage.

    Dans le meilleur des cas, c'est un programme en mode console ou une bibliothèque qui utilise du C++ standard.

    Si tu as des outils qui te le permettent, sors-nous une liste de toutes les lignes dans tes .h/.cpp qui commencent par #include.

  7. #7
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Pourrais-tu poster une 20aine de lignes, au hasard. Avec un peu de chance, on pourra te dire si c'est du code standard, ou du code spécifique Borland C++ builder. La réponse à cette question est essentielle pour la suite.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  8. #8
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Ouvres tous le fichiers *.h et *.cpp avec un simple éditeur de texte ( comme le bloc note par exemple ) et donnes nous toutes les lignes commençant par #include ( c'est en général les premières lignes des fichiers ) :

    Ca nous permettra de savoir quelles bibliothèques sont utilisées ( si elles sont spécifiques à Borland ou non )et donc de savoir comment configurer un IDE ( éventuellement quel IDE : Borland seulement, ou n'importe quel autre ) pour le recompiler et le débugger ( ou le maintenir ).

  9. #9
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Si c'est une appli en mode console, on a une chance de pouvoir utiliser autre chose que C++Builder.
    Si c'est de l'IHM, ça va se compliquer.

  10. #10
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Bonjour et merci à tous pour toutes ces réponses.

    J'essaie de collecter un max de solutions, et avant de savoir quel outil je vais devoir utiliser, j'essaie d'en trouver des libres.
    1) Je suis en train de télécharger une version CBuilder 6.0 mais j'ignore si elle tournera sur mon vista.
    2) J'ai installé Microsoft Visual C++ 6.0 qui me dit avoir des problèmes e compatibilité connus avec Vista, mais il me permet de voir le code proprement.
    3) Je télécharge également Microsoft Visual C++201 Express.

    Voilà pour l'évolution.

    Quant-à mon code voici, ce que je peux vous montrer des #include de tous mes .h et .CPP.

    Je vais montrer 2 appli de mes 12 à traiter, une très simple et une très complexe
    Pour la confidentialité, je modifie le nom des applis.

    Applications

    1) Simple : Showplan (Affiche un dessin a travers client Systeme I5 (Client Access))

    Showplan.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //----Showplan  Showplan.cpp
    #include <vcl\vcl.h>
    VisdrawPasswordDlg.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //----Showplan  VisdrawPasswordDlg.cpp
    #include "VisdrawPasswordDlg.h"
    #include "VisdrawUnit1.h"
    VisdrawPasswordDlg.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //----Showplan  VisdrawPasswordDlg.h
    #include <vcl\Buttons.hpp>
    #include <vcl\StdCtrls.hpp>
    #include <vcl\Controls.hpp>
    #include <vcl\Forms.hpp>
    #include <vcl\Graphics.hpp>
    #include <vcl\Classes.hpp>
    #include <vcl\SysUtils.hpp>
    #include <vcl\Windows.hpp>
    #include <vcl\System.hpp>
    #include <ExtCtrls.hpp>
    Visdrawunit1.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //----Showplan  VisdrawUnit1.cpp
    #include "stdio.h"
    #include "stdlib.h"
    #include "io.h"
    #include <dir>
    #include "VisdrawUnit1.h"
    #include <vcl\printers.hpp>
    #include <Clipbrd.hpp>
    #include "VisdrawPasswordDlg.h"
    Visdrawunit1.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //----Showplan  VisdrawUnit1.h
    #include <vcl\Classes.hpp>
    #include <vcl\Controls.hpp>
    #include <vcl\StdCtrls.hpp>
    #include <vcl\Forms.hpp>
    #include <vcl\ExtCtrls.hpp>
    #include <vcl\Dialogs.hpp>
    #include <vcl\ComCtrls.hpp>
    #include "MyTimagePcx.h"
    MyTimagePcx.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //----Showplan  MyTimagePcx.h
    #include <SysUtils.hpp>
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <ExtCtrls.hpp>
    2) Plus Complexe : TimeLtc (Gestion de temps das Plc)
    Main.cpp
    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
    //-----TimeLtc  Main.CPP
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include "CwbctrlLib_OCX.h"
    #include <ExtCtrls.hpp>
    #include <OleCtrls.hpp>
    #include <DdeMan.hpp>
    #include <ComCtrls.hpp>
    #include <Db.hpp>
    #include <DBTables.hpp>
    #include <DB.hpp>
    #include <Menus.hpp>
    //---------------------------------------------------------------------------
    AsToPlc.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //-----TimeLtc  AsToPlc.h
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include "CwbctrlLib_OCX.h"
    #include <ExtCtrls.hpp>
    #include <OleCtrls.hpp>
    Main.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //-----TimeLtc  Main.h
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include "CwbctrlLib_OCX.h"
    #include <ExtCtrls.hpp>
    #include <OleCtrls.hpp>
    #include <DdeMan.hpp>
    #include <ComCtrls.hpp>
    #include <Db.hpp>
    #include <DBTables.hpp>
    #include <DB.hpp>
    #include <Menus.hpp>
    PlcToAS.Cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /-----TimeLtc  PlcToAs.Cpp
    #include "PlcToAs.h"
    #include "Main.h"
    PlcToAs.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /-----TimeLtc  PlcToAs.h
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include "CwbctrlLib_OCX.h"
    #include <ExtCtrls.hpp>
    #include <OleCtrls.hpp>
    Unit5.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /-----TimeLtc  Unit5.cpp
    #include <vcl.h>
    Unit5.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /-----TimeLtc  Unit5.h
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Esta la mierda.

    C'est truffé de composants d'IHM à la Borland (VCL)...

    Soit tu continue avec C++Builder, soit tu te retapes apparemment une bonne partie du code avec des composants Microsoft (ou autres, tels que Qt). Ce qui me paraît ambitieux, pour quelqu'un qui ne connaît pas le C++.

    Envisage une mise à jour de C++Builder, si ça bloque sous Vista. Ou fais ta maintenance sur une autre bécane dotée de XP, peut-être.

  12. #12
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Pourrais-tu poster une 20aine de lignes, au hasard. Avec un peu de chance, on pourra te dire si c'est du code standard, ou du code spécifique Borland C++ builder. La réponse à cette question est essentielle pour la suite.
    Voici 2 .cpp de mon applic no 1

    CPP 1
    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
    //---------------------------------------------------------------------------
    #include <vcl\vcl.h>
    #pragma hdrstop
    //---------------------------------------------------------------------------
    USEFORM("VisdrawUnit1.cpp", VisdrawForm1);
    USEFORM("VisdrawPasswordDlg.cpp", PasswordDlg);
    //---------------------------------------------------------------------------
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
    	try
    	{
    		Application->Initialize();
    		Application->Title = "Visdraw";
    		Application->CreateForm(__classid(TVisdrawForm1), &VisdrawForm1);
                     Application->CreateForm(__classid(TPasswordDlg), &PasswordDlg);
                     Application->Run();
    	}
    	catch (Exception &exception)
    	{
    		Application->ShowException(&exception);
    	}
    	return 0;
    }
    //---------------------------------------------------------------------------
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    CPP2
    //---------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
     
    #include "VisdrawPasswordDlg.h"
    #include "VisdrawUnit1.h"
    //---------------------------------------------------------------------
    #pragma resource "*.dfm"
    TPasswordDlg *PasswordDlg;
    //---------------------------------------------------------------------
    __fastcall TPasswordDlg::TPasswordDlg(TComponent* AOwner)
    	: TForm(AOwner)
    {
    }
    //---------------------------------------------------------------------
    //# void __fastcall TPasswordDlg::OKBtnClick(TObject *Sender)
    //    When user click OK
    //      Retrieve the Windows directory
    //      Create a string used to start dos command VisDrawMap.cmd using
    //        the UserId an Password as parameters and trying to map the
    //        AS400 network drive
    //      If the mapping command is correctly executed (iRetCode >= 31)
    //        wait max. 10 seconds and send a message to the user if the
    //        network drive can't be mapped
    //---------------------------------------------------------------------
    void __fastcall TPasswordDlg::OKBtnClick(TObject *Sender)
    {
      AnsiString  asCmd, asWinDir;
      char  szCmd[256];
      char  szWinDir[MAX_PATH];
      bool bIsMapped = false;
      PasswordDlg->Caption = "";
      GetWindowsDirectory(szWinDir, MAX_PATH);
      asWinDir = szWinDir;
      asCmd = asWinDir + "\\VisdrawMap.cmd " + VisdrawForm1->asDrive + " " + Password->Text + " " + UserId->Text;
      strcpy(szCmd, asCmd.c_str());
      int iRetCode = WinExec(szCmd, SW_HIDE);
      if  (iRetCode >= 31)
      {
        for (int  x = 1; x <=5; x++)
        {
          Sleep(1000);
          bIsMapped = VisdrawForm1->IsDriveMapped(Tag);
          if  (bIsMapped)
          {
            break;
          }
        }
        if  (!bIsMapped)
        {
          ShowMessage("You are not authorized to use this folder. Please contact IT department...");
          Application->Terminate();
        }
        Close();
      }
    }
    //---------------------------------------------------------------------------
    //# void __fastcall TPasswordDlg::CancelBtnClick(TObject *Sender)
    //    Close application if user click "Cancel" button
    //---------------------------------------------------------------------------
    void __fastcall TPasswordDlg::CancelBtnClick(TObject *Sender)
    {
      Application->Terminate();
    }
    //---------------------------------------------------------------------------

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Rien que la première ligne de ces deux bouts de code ne sent pas bon -> VCL.

    TPasswordDlg, par exemple, est un composant Borland.

    Je te conseille, si tu peux, de faire ta maintenance sous ton C++Builder 6.0 pendant quelques mois, en travaillant en parallèle sur ton apprentissage du C++, puis sur une migration vers .Net (C++ ou C#).

  14. #14
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Je te conseille, si tu peux, de faire ta maintenance sous ton C++Builder 6.0 pendant quelques mois, en travaillant en parallèle sur ton apprentissage du C++, puis sur une migration vers .Net (C++ ou C#).
    Crotte de bique, cela n'est pas fait pour faire mon bonheur.

    Vu que la première maintenance a réaliser est de rendre l'application compatible avec Vista, penses-tu que cela va être possible vu que cette version 6.00 ne l'est en principe pas déjà à la base ?

    Je viens de l'installer et elle tourne, mais .... dieu sait ce que cela va donner.
    Car j'ai déjà des Access Violation..... qui m'empèchent carrément de sortir.

    Grrrrr.

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Vu que la première maintenance a réaliser est de rendre l'application compatible avec Vista, penses-tu que cela va être possible vu que cette version 6.00 ne l'est en principe pas déjà à la base ?
    Si c'est le but de la maintenance, la solution que je t'avais préconisée n'est pas la bonne...

    Il y 2 questions à se poser :

    1. Voulez-vous rester sur Borland ? Si oui, la migration vers une version récente me semble inévitable.

    2. Êtes-vous pressés ? Si oui, pensez au recours à une SSII.

    Peut-être qu'il y aura très peu de travail à faire une fois le projet importé dans la dernière version de C++ Builder.

    Peut-être devrais-tu ouvrir un post dans la section dédiée à C++Builder...

  16. #16
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Citation Envoyé par oodini Voir le message
    Esta la mierda.
    Présentement.

    Je suis en train de regarder le produit actuel de Cbuilder, version XE, et j'aimerais vraiment savoir si c'est une idée pertinente d'investir la-dedans où s'il vaut mieux ramer à mort pour essayer de convertir le code Cbuilder 6.00 dans une version moins spécifique que le CBuilder ?

    Je n'ai pas peur de ramer, ni de venir de temps en ici poser des questions.
    Je veux juste m'embarquer dans une voie propre et fiable, en investissant temps et argent dans une solution à long termes (la solution doit par exemple aussi fonctionner sous Windows 7 quand nos pc en seront dotés (par de +150 machines).

    S'il vous plait, faites moi part de votre expérience et dites moi vers quoi me lancer. je n'ai jamais aimé les solutions trop spécifique personnelement, étant adepte des applications bien pensées, fiables, faciles à maintenir et avec une durée de vie la plus longue possible

    Merci d'avance.

    Edit-------------------------
    A Oodini
    2. Êtes-vous pressés ? Si oui, pensez au recours à une SSII.
    Il ne faut même pas y penser ! Ils préfèrerons attendre que de payer pour cela, mais évidement pas une éternité.

  17. #17
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Alors si tu veux un investissement à long terme, tu te trouves un PC sous XP pour faire ton apprentissage du C++ et t'approprier le projet sous C++Builder.

    Quand tu as compris comment c'était foutu (au bout de quelques semaines, voire mois), tu fais la migration en .Net sous Visual C++.

    Le plus dur, ça risque de ne pas être le C++, mais la mise en correspondance des composants de Borland vers ceux de Microsoft...

  18. #18
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Je vois 2 voies pour toi :
    - La maintenance. Tu achètes une version récente de C++ builder XE, et ut portes vers cette version. Logiquement, les modifs devraient être raisonnables (éventuellement, s'ils font une version d'éval, tu peux te forger une idée). Il n'y aura probablement aucun soucis au passage de l'appli vista->7 (la plupart des soucis au passage vers vista sont liées aux sécurités plus restrictives, mais ce n'est pas le cas avec 7). Après le risque à long terme est lié à la perrénité de C++ builder qui n'est clairement pas le leader du marché. Tant qu'il survit, et que le code est maintenu régulièrement, ça devrait aller.
    Il y aura peut-être un coût de licence, mais pour peu que l'appli ne soit pas de taille ridiculement petite, il est négligeable par rapport aux coûts humains impliqués.

    - La réécriture. Solution bien plus risquée et coûteuse, et demandant plus de compétences. Je ne la recommenderais que si des modifications de grande envergures ou des contraintes techniques (portage sous linusx ou mac, par exemple) la rendent nécessaire.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  19. #19
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Je vois 2 voies pour toi :
    - La maintenance. Tu achètes une version récente de C++ builder XE, ...... Après le risque à long terme est lié à la perrénité de C++ builder qui n'est clairement pas le leader du marché. Tant qu'il survit, et que le code est maintenu régulièrement, ça devrait aller.
    Il y aura peut-être un coût de licence, ...
    Bonjour, et à nouveau merci pour tous ces éclaircissements.
    J'ai téléchargé la version démo de C++ Builder XE qui semble convenir.
    Je ne suis pas capable de déterminer quelle version de ce produit m'est nécessaire (Architect, Enterprise, Pro.... ?). Je pense la version Pro mais je ne suis pas certain. Dois-je poser cette question sur le Forum CBuilder ? Le cout des différentes versions devient vite conséquent quand on monte dans les caractéristiques.



    Citation Envoyé par JolyLoic Voir le message

    - La réécriture. Je ne la recommenderais que si des modifications de grande envergures ou des contraintes techniques (portage sous linusx ou mac, par exemple) la rendent nécessaire.
    J'ai en fait dans l'immédiat 2 applications à revoir. Si on essaie de faire une analyse mixte entre la question de pérennité du C++Builder, la difficulté de portage vers un autre produit (lequel d'ailleurs et quel est son prix?), mon besoin de support qui devrait être bien réel, la difficulté de trouver une formation ou du support pour Cbuilder, le fait que j'ai téléchargé C++BuilderXe trial valable 30 jours, j'ai une dernière hésitation quant au bon choix : Cbuilder actuel avec risque de manque de support et durée de vie inconnue mais code en théorie plus rapidement upgradé, ou autre solution (laquelle) plus standard avec des problèmes réels de conversion, un meilleur support , un délai de développement certain accru mais une longévité aussi étendue ?

    La poule, ou l'oeuf ?

    Si tu peux encore me donner un avis la-dessus, sinon je partirai pour l'option Cbuilder qui à court terme donne un meilleur "Roce" (return on capital employment).

  20. #20
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Difficile de donner une bonne réponse sans en savoir plus sur l'application, son contexte d'utilisation...

    Si tu es seul sur le sujet, et si acheter C++ builder ne pose pas de trop gros problèmes, je partirais probablement dans cette direction (après avoir validé grâce à l'évaluation que ça le fait, techniquement parlant). Tu devrais assez vite aboutir à un résultat, et même si au final tu décides d'aller dans une autre direction, tu pourras le faire tranquillement et en toute sérénité, avec une meilleure maîtrise du sujet (c'est au début d'un développement que l'on doit faire certains choix complexes qui qui demandent une bonne expérience pour être fait correctement) sans avoir des utilisateurs bloqués en attendant ton produit.

    En supposant un appli de bureautique de base, et en parcourant http://www.embarcadero.com/products/...ure-matrix.pdf j'ai l'impression que la version pro suffit largement.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. COURS DE PROG C++ POUR SENIOR
    Par LAND85 dans le forum Débuter
    Réponses: 4
    Dernier message: 23/03/2011, 15h02
  2. Outils, cours et NOUVEAUX tutoriels pour Borland C++Builder
    Par hiko-seijuro dans le forum C++Builder
    Réponses: 10
    Dernier message: 12/03/2006, 22h33
  3. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 18h10
  4. composant builder4 pour afficher du code html
    Par BranRuz dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/09/2002, 11h35

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