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

Composants VCL Delphi Discussion :

Problèmes avec un TWebBrowser dans une DLL


Sujet :

Composants VCL Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problèmes avec un TWebBrowser dans une DLL
    Hello World !

    J'ai écrit une DLL qui, entre autres, affiche une boite de dialogue.
    Or quand j'appelle (depuis un programme C ou Delphi) la fonction de la DLL qui afffiche ce dialogue, j'ai droit à un plantage de l'appli.
    Après avoir cherché longtemps pourquoi ce crash, il apparait que c'est dû à la présence d'un composant tWebBrowser dans le tForm!
    (il me sert normalement à afficher un mode d'emploi de l'appli)

    Si je le remplace p.ex. par un tMemo, je n'ai pas de problème.
    L'erreur générée est une exception EOleSysError.

    Si j'incorpore l'unité et la fiche de la DLL qui affiche le dialogue dans l'appli Delphi, çà marche (donc je n'ai pas commis d'erreur à ce niveau). Mais je ne peux pas retenir cette solution, car au départ j'ai une appli en C qui doit s'interfacer avec la DLL.

    C'est comme s'il y avait une incompatibilité entre DLL et tWebBrowser (ou de ses composants).
    J'ai interrogé Google sur "DLL+WebBrowser+Delphi", qui m'a retourné 14100 pages... mais rien sur mon pb.

    Si quelqu'un a déjà rencontré ce problème (et surtout l'a résolu!), je suis preneur de toute suggestion .
    Merci par avance ...

    JCB

  2. #2
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943
    Par défaut
    Je pense qu'il te manque un appel à CoInitialize.
    Tu devrais essayer d'ajouter ça à code dans l'unité correspondant à la fenêtre contenant le TWebBrowser :
    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
     
    // Interface de la fenêtre 
     
    implementation
    uses
      ActiveX;
     
    {$R *.dfm}
     
    // Le code de la fenêtre
     
    initialization
      CoInitialize(nil);
     
    finalization
      CoUninitialize;
    Je n'ai pas vérifié, mais il me semble que TApplication le fait pour nous dans le cas d'une application "normale" mais comme il n'y a pas de TApplication dans une dll il faut le faire explicitement.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [résolu] tWebBrowser dans une DLL : çà plante !
    Super !
    C'était çà !

    J'ai ajouté tout cela (use activeX, ... CoInitialize(nil) ... CoUninitialize ) dans l'unité de la boite de dialogue, et ma DLL fonctionne parfaitement bien avec le WebBrowser, y compris quand je l'appelle depuis le programme C .
    Encore MERCI !

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

Discussions similaires

  1. problème avec l'apostrophe dans une requête
    Par mika0102 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/03/2019, 16h51
  2. Problème avec API OutText dans une DLL
    Par KlausGunther dans le forum API, COM et SDKs
    Réponses: 20
    Dernier message: 11/05/2014, 15h55
  3. Problème avec un Timage dans une DLL
    Par colorid dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2011, 12h04
  4. [Delta3d] probléme avec un objet dans une map
    Par astragoth dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 27/03/2006, 14h49
  5. Problème avec un LIKE dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 14h38

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