Transformer un string en Tframe et inversement

Résolu
develomagaly Messages postés 46 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 3 mai 2006 - 11 oct. 2005 à 14:46
develomagaly Messages postés 46 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 3 mai 2006 - 12 oct. 2005 à 14:11
Bonjour,

Je vous explique en deux mots mon problème :
Voila, je recupere à partir d'une base de données le nom d'une fenêtre à afficher ( donc il s'agit bien d'un STRING)
Le probleme est que je voudrait afficher la fenetre en ecrivant :
Application.CreateForm(NomFenetre, fenetre);
windows.SetParent(NomFenetre.Handle,FrmSimulation.PnlDonnees.Handle);

Le probleme est que NomFenetre est de type String et pas TFrame alors je voudrait savoir s'il existe de transformer un Tframe en String ou inversement.
Je me galère depuis ce matin a trouver une solution alors sa serait cool si quelqu'un pourrait me donner la solution.
Merci a tous !

5 réponses

develomagaly Messages postés 46 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 3 mai 2006
12 oct. 2005 à 14:11
ok j'ai compris
Autres petites questions :
- la fiche a ouvrir en question doit être en fsMdiChild puisqu'elle doit apparaitre à la place d'un label sur une autre fiche fsMdiChild.
Et sa pour l'afficher j'ai du mal car il ne faut pas mettre application.formCreate(TfrmDonIdentification,FrmDonIdentification) au début alors j'ai essayé de le mettre avant l'appelle de GetForm().
Sa marche po!
Snif!
3
padsou Messages postés 121 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 13 avril 2010
11 oct. 2005 à 16:12
a mon avis tu dois créer un fichier que appellera ensuite avec le contenu de ton string issu de ta base...
0
dominique.stock Messages postés 436 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 8 octobre 2008 7
11 oct. 2005 à 16:18
Bonjour,
Ou bien tu génére un tableau de TFrame en nommant chaque TFrame des noms de ta base de données.
Tes TFrame étant instanciés à l'exécution ...

Dom
0
develomagaly Messages postés 46 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 3 mai 2006
11 oct. 2005 à 17:03
J'ai pas trop compris ce que vous m'expliquez
0

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

Posez votre question
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
11 oct. 2005 à 18:30
Voila une solution simple et pratique :
<hr size= "2" width="100%">{ A mettre juste après implementation. }

function GetForm( const Caption: string): TCustomForm; // Fonction de recherche.
var
i: Integer;
begin
Result : = nil;
{ Parcours de tous les composants (dont les fiches) de l'application. }
for i := 0 to Application.ComponentCount -1 do
if Application.Components[i] is TCustomForm then
if (Application.Components[i] as TCustomForm).Caption = Caption then
begin
Result := Application.Components[i] as TCustomForm;
Exit;
end ;
if Result = nil then
raise Exception.Create('La fiche spécifiée n''existe pas');
end;

{ Test de la fonction ci-dessus. }

procedure TForm1.Button1Click(Sender: TObject);
begin
GetForm('Form 2').Show; // Affiche la fenetre qui a pour caption "Form 2"
end;
<hr size="2" width="100%">
Remarque: la fiche doit exister et avoir été préalablement crée par Application.CreateForm().
Remarque 2: n'apelle pas CreateForm(), Delphi se débrouille tout seul pour le faire au lancement de la'pplicaion et se charge de l'appel à Release à sa destruction

@ ++
Florent

Si tu ne te plantes pas ......
tu ne poussera jamais
0
Rejoignez-nous