Application MDI

Résolu
impossibleok Messages postés 54 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 26 juin 2009 - 31 oct. 2008 à 18:45
impossibleok Messages postés 54 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 26 juin 2009 - 3 nov. 2008 à 16:17
bjrs;
j'espére trouver bon echo a mon interogation, j'ai une forme MDI principale (form1) et une MDIshild (Form2) et une forme normale (form3).
j'ai mis un Edit (Edit1) et un Speed (speed1) sur Form2, et Quand je clique le Speed j'affiche en modal (Form3) sur laquelle j'ai mis un DBGrid (DBGrid1) et j'aimerais que: quand je doublclique sur le DBGrid j'affecte la valeur du champs de l'enregistrement actif a l'Edit de la forme2 et que je ferme Form3.
j'ai donc ajouter form2 dans le uses de form3 et j'ai mis le code suivant a l'evenement dblclic du DBGrid de la form3:
  Form2.Edit1.Text := Table1.FieldByName('Nom_Champ').AsString;
  Form12.Close;
mais ça plante surement du fait que je suis en MDI!!!
Une ame charitable pour me debloquer de cette situation ???

28 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 nov. 2008 à 22:01
Mais quand j'y pense Cantador :
Tu dis, sauf si on la stocke dans une variable.
Mais elle l'est déjà, stockée, dans la variable FText du composant TEdit.
Je viens de vérifier sur une application que j'avais déjà faite, si tu fermes une fiche modale avec "Salut" dans un TEdit,si tu réouvres la fiche modale, tu verras "Salut" dans le même TEdit.

Cordialement, Bacterius !
0
impossibleok Messages postés 54 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 26 juin 2009
3 nov. 2008 à 10:15
SOS !!!
alors:
ma forme MDI principale est (Form1) j'appele une MDIChild (Form2) sur laquelle j'ai mis une table et un datasource respectivement (Table1) et (DataSource1).
depuis (Form2), j'appéle en modal une forme non MDI (Form3) sur laquelle j'ai mis un datasource (DataSource2) lié a (Form2.Table1). jusqu'a là ça marche bien.
sachant que la MDIChild Active est (Form2),
 sachant que la MDIChild Active est (Form2), comment dois je faire pour acceder a la (Table1) depuis (Form3) par programation???
0
impossibleok Messages postés 54 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 26 juin 2009
3 nov. 2008 à 11:54
bin j'ai mis unit2 dans uses de form3 mais le probleme c'est l'ecriture du code !!!
que faire par exemple pour effectuer un "Append " sur table1 depuis form3 ???
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 nov. 2008 à 12:35
peux-tu mettre tout le code ?



cantador
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
3 nov. 2008 à 12:39
Ben c'est tout bête !
Tu mets Unit1 dans les Uses (enfin l'unité qui contient le fiche principale) et l'unité de la fiche MDI (c'est toujours mieux), et tu utilises Form1.ActiveMdiChildren permet d'accéder à la fiche MDI active, mais il faut utiliser Components[Index: Integer] pour accéder aux composants de la fiche. Il faut juste connaître le numéro du composant sur la fiche, et y accéder.
Mais je ne sais pas si le lien entre deux composants sur fiche modale et MDI va fonctionner (il peut y avoir des conflits).
Renseigne-toi sur le fonctionnement des applications MDI dans Windows.
Bonne chance :)

Cordialement, Bacterius !
0
impossibleok Messages postés 54 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 26 juin 2009
3 nov. 2008 à 12:55
le code exacte:
TTable(ActiveMDIChild.Components[index de table1]).Append;
pas d'erreur de compilation !!!
par contre a l'execution ça plante "violation d'acces a l'adresse ...."<!-- / message -->
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
3 nov. 2008 à 14:30
Ou la méthode de Cantador, qui est encore plus sûre et pratique :

Cordialement, Bacterius !
0
impossibleok Messages postés 54 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 26 juin 2009
3 nov. 2008 à 16:17
grand merci a vous 2 , tous les codes marchent a merveille! j'avais juste un probleme de localisation de l'index pi avec la methode de Contador ça se calcule auto.
je vais enfin pouvoir y avancer ...
0
Rejoignez-nous