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 :

Créer un WebBrowser dans une DLL


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut Créer un WebBrowser dans une DLL
    Bonjour,

    Je développe un soft avec Delphi 2006 sous WinXP.

    J'aimerais créer un WebBrowser dans une DLL. J'ai bien essayé le code suivant, mais le Self n'est pas reconnu ... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    uses
      Windows, SysUtils, Classes, SHDocVw, StrUtils, StdCtrls;
     
    [...]
     
    Function (...);
    var
      WebBrowser : TWebBrowser;
     
    begin
      WebBrowser := TWebBrowser.Create(Self);
      [...]
    end;
    Je ne trouve pas la clause Uses à rajouter pour que le Self soit accepté ...

    Si quelqu'un pouvait me donner un p'tit coup d'pouce.

  2. #2
    Membre émérite Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Par défaut
    Citation Envoyé par xenos
    Bonjour,

    Je développe un soft avec Delphi 2006 sous WinXP.

    J'aimerais créer un WebBrowser dans une DLL. J'ai bien essayé le code suivant, mais le Self n'est pas reconnu ... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    uses
      Windows, SysUtils, Classes, SHDocVw, StrUtils, StdCtrls;
     
    [...]
     
    Function (...);
    var
      WebBrowser : TWebBrowser;
     
    begin
      WebBrowser := TWebBrowser.Create(Self);
      [...]
    end;
    Je ne trouve pas la clause Uses à rajouter pour que le Self soit accepté ...

    Si quelqu'un pouvait me donner un p'tit coup d'pouce.
    Salut!

    Self est un pointeur sur l'objet en cours. C'est l'équivalent de this en java ou C++ et de Me en VB. Si tu n'implémentes pas une classe (comme c'est souvent le cas dans une DLL), self n'existera pas.

    Toutefois, tu n'as pas vraiment besoin de self dans ta situation. Bien que la plupart des composants Delphi demandent un propriétaire (Owner) à la création, ce dernier n'est pas obligatoire. Il a comme utilité de libérer la mémoire de ce qu'il possède lorsqu'il est déruit. Si tu libères toi même la mémoire quand tu en as terminé, tu n'as pas besoin de profiter des bienfaits du Owner. Donc, je résume, WebBrowser := TWebBrowser.Create(nil) fonctionnera aussi.

    Bon dev!

  3. #3
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut
    Je vois que je suis pas l'seul à bosser à 3h du mat !

    Citation Envoyé par slimjoe
    Donc, je résume, WebBrowser := TWebBrowser.Create(nil) fonctionnera aussi.
    En effet, ça fonctionne très bien !!! Merci.

    Citation Envoyé par slimjoe
    Si tu libères toi même la mémoire quand tu en as terminé, tu n'as pas besoin de profiter des bienfaits du Owner.
    Est-ce que ce code suffit pour libérer la mémoire ?


  4. #4
    Membre émérite Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Par défaut
    Citation Envoyé par xenos
    Est-ce que ce code suffit pour libérer la mémoire ?
    Ouaip
    En autant que tu n'oublies pas de le faire (comme ça m'arrive régulièrement )


    Citation Envoyé par xenos
    Je vois que je suis pas l'seul à bosser à 3h du mat !
    Nah : suis Canadien!
    Ça offre quelques avantages de vivre 6 heures avant vous les mecs.
    Profitez-en!

    ... et bon dev!

  5. #5
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut
    Merci slimjoe pour ton aide, le problème est résolu !

    Bon développement à tous.

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

Discussions similaires

  1. Réponses: 40
    Dernier message: 21/06/2007, 17h58
  2. Réponses: 4
    Dernier message: 07/05/2007, 21h38
  3. Réponses: 16
    Dernier message: 06/08/2006, 23h45
  4. [Indy 10] Créer WhoIs dans une DLL
    Par xenos dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/04/2006, 23h51
  5. Réponses: 4
    Dernier message: 08/10/2005, 09h31

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