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

 Delphi Discussion :

afficher un composant créé dynamiquement


Sujet :

Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 549
    Points : 226
    Points
    226
    Par défaut afficher un composant créé dynamiquement
    Bonjour

    Je cree un Tbouton dynamiquement, il s affiche.

    Je cree un TWebbroser : impossible de l afficher.j ai essayé le repaint mais rien ! Je le fais naviguer, j ai pas d erreur mais toujours rien à l affichage
    Pourtant je teste sa creation et c est ok...
    je procede ainsi :

    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
     
    var
    navigateur2: TWebBrowser;
     
    ...
     
    navigateur2 := TWebBrowser.Create(Self);
      with navigateur2 do
      begin
        align := alclient;
        visible := True;
      end;
      navigateur2.Repaint;
      navigateur2.Navigate(URL);
     
    if assigned(navigateur2) then
        Memo1.Lines.Add('creation ok');
    merci de vos lumieres

    stephane

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    C'est son Parent qui doit l'afficher : renseigne donc cette propriété ; cela devrait suffire.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 549
    Points : 226
    Points
    226
    Par défaut
    j avais essayé
    mais j ai retiré pke j avais le message d erreur suivant :
    [dcc32 Erreur] Unit1.pas(73): E2129 Affectation impossible à une propriété en lecture seule
    j avais suivi ce tuto : http://delphi.developpez.com/faq/?pa...oins-Recherche et cela fonctionne parfaitement avec le bouton...

  4. #4
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Bien que ce soit moche, il faut utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TWinControl(navigateur2 ).Parent
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 549
    Points : 226
    Points
    226
    Par défaut
    Merci, je n aurais jamais trouvé.
    Je mets resolu pke mon pb l est mais peux tu m indiquer quand privilegier une declaration à une autre ?
    Au pif je dirais que l une est à mettre en oeuvre quand l autre ne fonctionne pas mais ça fait pas avancer là
    merci

    stephane

  6. #6
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    La solution propre (merci l'autocomplétion), c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    navigateur2.SetParentComponent(Form1);
    Pour le code précédent:
    C'est une solution que j'avais trouvé sur Internet.
    La raison de ce code est que Parent en Lecture Seule pour le TWebBrowser. Le TWebBrowser descend du TWinControl qui lui a la propriété Parent en lecture/écriture. Mais il peut y avoir des effets de bords non désirables, c'est pour ça que je disais que c'était moche.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

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

Discussions similaires

  1. Recherche composant tableau dynamique
    Par nikhil dans le forum Composants VCL
    Réponses: 4
    Dernier message: 28/07/2005, 14h02
  2. Pb pour afficher des composants dans la palette
    Par Captain_JS dans le forum C++Builder
    Réponses: 1
    Dernier message: 12/07/2005, 18h35
  3. Gestion séparée de composants créés dynamiquement
    Par anarpunk dans le forum Composants VCL
    Réponses: 8
    Dernier message: 15/06/2005, 10h57
  4. Composant crée dynamiquement & Access in invalid memory
    Par Sunchaser dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/02/2005, 01h03
  5. Réponses: 7
    Dernier message: 08/08/2003, 18h09

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