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

Windows Forms Discussion :

stream et webbrowser


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 535
    Par défaut stream et webbrowser
    Bonjour,

    J'ai toujours été nul avec les stream qui sont pourtant une des bases du langage alors je viens chercher de l'aide ici.

    Je tente d'afficher un document html dans un webbrowser à partir d'un memorystream.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MemoryStream ms = new MemoryStream();
    StreamWriter sw = new StreamWriter(ms);
    sw.Write("<HTML>BONJOUR</HTML>");
    ms.Seek(0, 0);
    webBrowser1.DocumentStream = ms;
    ça marche pas

    J'ai oublié quoi ?

    Papy !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il faut que tu fermes le StreamWriter

  3. #3
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 535
    Par défaut
    à quel endroit ?
    J'ai essayé plusieurs endroits mais ça ne change rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    MemoryStream ms = new MemoryStream();
    StreamWriter sw = new StreamWriter(ms);
    sw.Write("<HTML>BONJOUR</HTML>");
    // sw.Close();  ici, déclenche une erreur
    ms.Seek(0, 0);
    //sw.Close(); ici, ça change rien
    webBrowser1.DocumentStream = ms;
    //sw.Close(); ici non plus

  4. #4
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    De tout facon, faut le fermer
    Le mieux c'est de le fermer quand tu l'utilises plus...

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Le code suivant fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                MemoryStream ms = new MemoryStream();
                StreamWriter sw = new StreamWriter(ms);
                sw.Write("<HTML>BONJOUR</HTML>");
                sw.Flush();
                ms.Seek(0, SeekOrigin.Begin);
                webBrowser1.DocumentStream = ms;
    Par contre, si tu fermes le StreamWriter (même après avoir mis ms dans DocumentStream) ça ne marche plus
    Ca n'a pas vraiment d'importance en fait, le flux sera fermé automatiquement quand il ne sera plus utilisé (i.e., quand il n'y aura plus de référence dessus)

  6. #6
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 535
    Par défaut
    J'ai pensé hier soir au Flush qui pouvait manquer mais je n'étais plus devant l'ordi. Il semble que c'était ça.

    Merci !

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

Discussions similaires

  1. WebBrowser WPF avec flux/stream PDF
    Par jfpacory dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 04/06/2009, 10h56
  2. WebBrowser Lire du Stream
    Par Kiboumz dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/07/2007, 13h23
  3. DirectSound et le streaming
    Par Shakram dans le forum DirectX
    Réponses: 57
    Dernier message: 09/06/2005, 12h05
  4. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 12h17
  5. Détections avec WebBrowser
    Par Wazo_Sportive dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/08/2002, 20h32

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