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 fen�tre MDI


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
    Mai 2002
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 28
    Par d�faut pb fen�tre MDI
    j'ai besoin de connaitre le num�ro de chaque fen�tre fille.
    je pensais utiliser la variable Tag pour donner un num�ro � chaque fen�tre fille.
    le probl�me est que je n'arrive pas � remplir le Tag de la fen�tre.
    quand j'utilise MDIChildren[], il compile et me trouve une exception

    Avez vous des id�es??

    Merci beaucoup.

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Par d�faut
    C'est quoi MDIChildren, un tableau de form ? Il me semble que tu n'utilises pas la bonne m�thode. Montres-nous ton code et on pourra t'aider.

  3. #3
    Membre chevronn�

    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Par d�faut
    c'est quoi comme exception ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 28
    Par d�faut
    finalement je n'utilise pas MDIChildren[] mais le probl�me survient quand m�me.Attention je d�bute.

    code:
    d�claration globale
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    TMDIChild *Child;
    appuie sur bouton
    Child = new TMDIChild(Application);
     
    dans l'init de la fenêtre fille:
    Child->Tag=FM->MDIChildCount;
    TIniFile *ini = new TIniFile("try" + IntToStr(Child->Tag) + ".ini");
    exception:Access violation at adress 00402383.Read of address FFFFFFFF.

  5. #5
    Membre chevronn�

    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Par d�faut
    t'as essay� de mettre des points d'arr�t pour localiser exactement l'erreur ???

    th�oriquement, tag est utilis� pour passer des donn�es � ton composant. tu devrais plut�t faire un truc du genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    int tmp = FM->MDIChildCount;
    AnsiString ch = "try";
    ch += tmp;
    ch += ".ini";
    TIniFile * ini = new TIniFile(ch);

    th�oriquement, sous Win32 t'est sens� utiliser la base de registres plutot que les fichiers INI => composant TRegIniFile (m�me fonctionnement que TIniFile)

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 25
    Par d�faut
    Citation Envoy� par d�d�
    d�claration globale
    TMDIChild *Child;
    appuie sur bouton
    Child = new TMDIChild(Application);
    Ne serait-ce pas Child = new TMDIChild(this) ??

    Citation Envoy� par d�d�
    quand j'utilise MDIChildren[], il compile et me trouve une exception
    Peut-�tre donnes-tu un indice en dehors du tableau de style FM->MDIChildren[FM->MDIChildCount] au lieu de FM->MDIChildren[FM->MDIChildCount - 1].

    Apparemment ton erreur ne vient pas des d�clarations contenues dans l'init de ta fen�tre fille, elles ne semblent pas incorrectes.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 28
    Par d�faut
    j'ai trouv� le probl�me
    En fait je r�cup�rais le nom de la fen�tre avant de la nommer.
    Cr�ation fen�tre fille(fonction menu new)
    r�cup�re nom(init de fen�tre fille)
    donne nom(fonction menu new)

    maintenant:

    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
    void __fastcall TFM::CreateMDIChild(String Name)
    {
    	TMDIChild *Child;
     
    	//--- create a new MDI child window ----
    	Child = new TMDIChild(Application);
    	Child->Caption = Name;
    	if (FileExists (Name))
    		Child->M1->Lines->LoadFromFile(Name);
     
       Child->Tag=MDIChildCount ;
       TIniFile *ini = new TIniFile("try" + IntToStr(MDIChildCount) + ".ini");
       if (FileExists ("try" + IntToStr(MDIChildCount) + ".ini")) {}
       else
          {
          ini->WriteString("INFO", "Board",IntToStr(MDIChildCount));
          ini->WriteString("Bouton 1", "0","");
     
          }
       delete ini;
    }

    je r�cup�re le num�ro de la fen�tre fille par FM->MDIChildren[0]->Tag.
    MDIChildren[0] pointe sur la fen�tre active


    Merci � tous

  8. #8
    Invit�
    Invit�(e)
    Par d�faut Gilles Louise
    Pour les applis Mdi, il est bien d'utiliser les conseils de Gilles Louise (de ce site), �a �vite de perdre de nombreuses heures � r�inventer la poudre...

    C'est ce que j'ai fait et je trouve sa m�thode tr�s pratique.

    A+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. TActionMainMenuBar et fen�tres MDI
    Par MD Software dans le forum Composants VCL
    R�ponses: 4
    Dernier message: 24/05/2005, 10h09
  2. Taille et position initiale d'une fen�tre MDI fille
    Par nutsDz dans le forum C++Builder
    R�ponses: 8
    Dernier message: 09/05/2005, 16h05
  3. R�affichage fen�tre MDI
    Par charles.apollon dans le forum C++Builder
    R�ponses: 2
    Dernier message: 03/03/2005, 17h39
  4. Composant TImage sur fen�tre MDI Parent
    Par charles.apollon dans le forum C++Builder
    R�ponses: 6
    Dernier message: 10/02/2005, 15h47
  5. cacher une fen�tre MDI
    Par briscard dans le forum C++Builder
    R�ponses: 3
    Dernier message: 29/06/2004, 15h12

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