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 :

pb de navigation entre les fenetre


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut pb de navigation entre les fenetre
    J'ai un problème sur le passage d'une form à une autre...
    En VBA pour passer d'une je faisait quelque chose dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UserForm1.hide()
    Userform2.show()
    Et inversement pour revenir à la première...
    Mon pb c'est que je n'arrive pas a faire quelque chose d'équivalent en c++...
    Car lorsque je quitte ma deuxième form, je tombe dans une boucle qui me pose pb, voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    TFileStream * file;
       TForm6 *F;
       F = new TForm6(Form6);
       if (FileExists("c:\\MAJ\\Gestion des utilisateurs.txt"))
       {
          //Form5->Hide();
          F->ShowModal();
     
       }
       else
    {...}
    Une fois la deuxième fenêtre fermer je bloque...
    Quelqu'un pourrait il m'éclairer?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    C'est parce que tu utilise le ShowModal, qui permet de bloquer l'exécution du code tant que la fenêtre est ouverte, ce qui n'est apparemment pas ton but, si j'ai bien compris.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Dans mes différents prog, j'instancie depuis ma form principale, les autre form au besoin.

    Donc dans le prog que je développe actuellement, lorsque j'appuie sur un bouton j'ai un code de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ObjFormAjoutFamille = new TFormAjoutFamille(ObjAdministration, Owner);
    ObjFormAjoutFamille->Visible = true;
    Dans ton cas je pense que tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    F->Visible = true;

  4. #4
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    ok cela m'affiche ma seconde fenêtre sans problème mais lorsque je la ferme j'ai une erreur qui me dit "violation accès mémoire..."à l'adresse 400F19DD dans le module vcl60.bpl Lecture de l'adresse 000002EC"

    pour la fermeture de ma deuxième form j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm6::FormCloseQuery(TObject *Sender, bool &CanClose)
    {
       Form6->Close();
    }
    Est ce que le problème viens de la?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Oui je pense.
    si tu veux la fermer, utilise plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    F->Visible = false;
    Sachant que lorsque ton programme sera quitté, ou du moins la classe dans laquelle tu instancies ta form, ton objet F sera détruit aussi.

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui, car la tu essaye de fermer une fenêtre déjà fermé, il faut que tu mette

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm6::FormCloseQuery(TObject *Sender, bool &CanClose)
    {
      CanClose = true;
    }

  7. #7
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Je connaissais pas le canClose.

    Ca permet d'autoriser la fermeture d'une fenêtre? ou du moins d'intéragir avec celle ci?

  8. #8
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Pour libérer la mémoire lors de la fermeture de la fenêtre il faut mettre Action = caFree dans l'événement OnClose de ta fenêtre

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

Discussions similaires

  1. navigation entre les balise div
    Par speedylol dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/11/2006, 15h36
  2. Réponses: 1
    Dernier message: 04/06/2006, 00h18
  3. [CR 10] navigation entre les enregistrements
    Par nannous dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/05/2006, 14h53
  4. [VB6]navigation entre les enregistrements
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 04/05/2006, 01h16

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