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

VB.NET Discussion :

[newbie] Créer un nouvel objet?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 38
    Par défaut [newbie] Créer un nouvel objet?
    Bonjour

    J'essaye d'utiliser ce code trouvé ici-même pour télécharger des pages web de manière asynchrone afin de ne pas bloquer l'interface.

    Comme je débute, c'est une question basique mais je ne trouve pas la bonne syntaxe (en bleu) pour créer un nouvel objet et lancer les choses :-/

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Imports System.Net
    Imports System.IO
    Imports System.Text
    Imports System.Text.RegularExpressions
    Imports System.Threading.Thread
    Imports System.Windows.Forms
    
    Public Class RequestState
        Public Request As HttpWebRequest
    
        Public Sub New()
            Request = Nothing
        End Sub
    End Class
    
    Public Class GetHttpAsync
        Public Sub GetPage(ByVal url As String)
            Dim req As HttpWebRequest
            req = CType(WebRequest.Create(url), HttpWebRequest)
    
            Dim rs As New RequestState
            rs.Request = req
    
            req.BeginGetResponse(New AsyncCallback(AddressOf ResponseCallback), rs)
        End Sub
    
        Private Shared Sub ResponseCallback(ByVal ar As IAsyncResult)
            Dim rs As RequestState = CType(ar.AsyncState, RequestState)
            Dim req As HttpWebRequest = rs.Request
            Dim resp As HttpWebResponse = CType(req.EndGetResponse(ar), HttpWebResponse)
            Dim responseStream As Stream = resp.GetResponseStream()
            Dim sr As StreamReader = New StreamReader(responseStream, Encoding.UTF8)
            Dim strContent As String = sr.ReadToEnd()
    
            responseStream.Close()
        End Sub
    End Class
    
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'BAD Dim MyGetHTTP As GetHttpAsync = New GetHttpAsync
            'BAD Dim MyGetHTTP As GetHttpAsync = GetHttpAsync
    
            'Reference to a non-shared member requires an object reference
            GetHttpAsync.GetPage("http://www.google.com")
    
        End Sub
    End Class
    Merci pour toute aide.

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 126
    Par défaut
    Salut, il y a 2 possibilite:

    Soit tu as besoin de garder l'objet GetHttpAsync alors pour cela tu dois creer la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Public Sub New()
    End Sub
    et tu devras pour utiliser ta fonction faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim obj As New GetHttpAsync
    obj.getPage()
    Car ici ta classe na pas de constructeur.

    Ou alors la garder en shared, ce qui veux dire que tu n'a pas besoin d'instancier un nouvel objet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Shared Sub GetPage(ByVal url As String)
    Et tu utilisera la fonction directement a partir du nom de la classe:
    Ju

Discussions similaires

  1. Créer un nouvel objet à partir du nom de la classe de l'objet
    Par gueuldange dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 13/04/2015, 21h37
  2. Réponses: 4
    Dernier message: 13/06/2014, 11h37
  3. [AC-2007] Créer un nouvel objet
    Par Triton972 dans le forum VBA Access
    Réponses: 7
    Dernier message: 27/12/2011, 05h00
  4. [Débutant] [C#] Vaut il mieux faire un cast ou créer un nouvel objet?
    Par takinelinfo dans le forum C#
    Réponses: 3
    Dernier message: 02/08/2011, 10h41
  5. Créer un nouvel objet dont on ne connait que le type
    Par NicolasJolet dans le forum C#
    Réponses: 1
    Dernier message: 08/02/2007, 09h02

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