Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    392

    VS2012 VB e net3.5

    codice:
        Private Sub doit()
            doneOnce = False
            wb.Url = New Uri(urlofIPChicken)
            wb.Navigate(urlof_website)
        End Sub
    
        Private Sub wb_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles wb.DocumentCompleted
            'timeerror()
            wb.Stop()
        End Sub
    come già detto non sono bravo, ma mi tocca cimentarmi in VB, ho questo form che sto facendo all'università. In pratica il programma ha un timer che gira, e mi riesegue questa operazione ogni ciclo, che dovrebbe essere ogni 3600 secondi. 1 ora.

    non importa quello che risponde il browser importa solo che carica il link "urlof_site" e poi chiude.
    funziona tutto, il mio problema è il consumo di ram. è esagerato. arrivo anche a 200mb in 12 ore

    c'è un modo per chiudere il webrowser e/o liberare la memoria? io pensavo che un evento a pagina caricata di Stop bastava ma non è cosi

    thx
    A8n-SLI, Athlon 3200 S939 Venice, GeForce6600Q, 250gb maxtor 6L250S0, 250gb WDC 2500JS, Pioneer DVR109, Pioneer DVD-103, Samsung SyncMaster 931C

    O.S. Windows xp, Mandriva 2007

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    392
    codice:
    Private Sub wb_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles wb.DocumentCompleted
            wb.Stop()
            System.GC.Collect()
        End Sub
    una soluzione dele genere secondo voi è buona? aggiungere un collect in DocumentCompleted
    A8n-SLI, Athlon 3200 S939 Venice, GeForce6600Q, 250gb maxtor 6L250S0, 250gb WDC 2500JS, Pioneer DVR109, Pioneer DVD-103, Samsung SyncMaster 931C

    O.S. Windows xp, Mandriva 2007

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    392
    niente non va, il programma si mangia moltissima ram, dopo 100 interrogazioni al sito web siamo sui 200mb

    devo trovare un modo per aprire sito e chiudere in modo da svuotare le risorse.

    avete qualche idea o consiglio?

    thx
    A8n-SLI, Athlon 3200 S939 Venice, GeForce6600Q, 250gb maxtor 6L250S0, 250gb WDC 2500JS, Pioneer DVR109, Pioneer DVD-103, Samsung SyncMaster 931C

    O.S. Windows xp, Mandriva 2007

  5. #5
    Un modo "abbastanza" sicuro potrebbe essere distruggere e ricostruire l'oggetto webbrowser (ricordandosi della Dispose). Ma tu esattamente che dato devi estrarre?
    Dal codice mi pare che tu stia cercando di ottenere l'IP pubblico del PC tramite IPChicken: perché non usi la leggerissima classe System.Net.WebClient e un sito che fornisce tale informazione in formato solo testo (ad esempio http://checkip.dyndns.com/)? In tale maniera eviti di usare il componente WebBrowser e tutti i problemi ad esso connessi.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.