Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


CF3.5: Flera trådar

Postades av 2010-05-29 19:27:24 - Thomas Roman, i forum vb.net, Tråden har 5 Kommentarer och lästs av 1480 personer

Jag försöker göra ett program med CF3.5 där en tråd (tråd2) laddar ner innehållet från en sida och den nerladdade datan ska användas av tråd1 (originaltråden).
Nerladdningen går utmärkt, men jag får fel så fort jag ska försöka röra datan från tråd1 alteernativt lägga datan i en variabel skapad i tråd1 från tråd2.

Programmet består av den här koden:
<code>
Dim myThread As New Threading.Thread(New Threading.ThreadStart(AddressOf GetHTML))
myThread.Start()
</code>

GetHTML sköter nerladdningen, men var ska datan lagras? Och hur ska tråd1 få tillgång till den?


Thomas


Svara

Sv: CF3.5: Flera trådar

Postades av 2010-05-29 20:36:38 - Tom Granqvist

Vad får du för fel? Hurdan data hämtar du? En möjlighet är ju att du trycker in datan i nån blockerande kö, som tråd 1 väntar på.


Svara

Sv:CF3.5: Flera trådar

Postades av 2010-05-29 21:19:17 - Thomas Roman

Det är ren text jag hämtar. Felet jag får är NotSupportedException. Det händer alltid så fort jag försöker mixa trådarna på nått sätt. Dvs en variabel deklarerad i tråd1 som jag försöker sätta med tråd2, komma åt en kontroll i forumuläret (som ju är skapad med tråd1 givetvis) från tråd2 osv.


Thomas


Svara

Sv: CF3.5: Flera trådar

Postades av 2010-05-30 10:03:57 - Tom Granqvist

Hittade en bloggpost om multitrådade applikationer med CF3.5, du kan ju kolla den för lite idéer: http://remark.wordpress.com/articles/multithreading-with-the-net-compact-framework-35/.

Kan som sagt int .Net, så det kan vara heeelt fel också.


Svara

Sv: CF3.5: Flera trådar

Postades av 2010-05-30 17:52:22 - André Claesson

Att försöka accessa UI:t från annan tråd utan Invoke är helt förbjudet i .NET.
Vilka klasser använder du för att hämta datan? Det brukar vara betydligt enklare att använda asynkrona metoder istället för egenskapade trådar.
Exempelvis har HttpWebRequest asynkrona metoder. Istället för HttpWebRequest.GetResponse() använder du HttpWebRequest.BeginGetResponse() och så får du ett event när det är klart. Returvärdet får du istället ifrån EndGetResponse().

Imports System.Net
Imports System.IO

Public Class Form1

    Private request As HttpWebRequest
    Public Delegate Sub UpdateTextCallback(ByVal text As String)

    Public Sub New()
        InitializeComponent()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        request = WebRequest.Create("http://www.pellesoft.se")

        Dim result As IAsyncResult = request.BeginGetResponse(New AsyncCallback(AddressOf Callback), Nothing)
    End Sub

    Private Sub Callback(ByVal result As IAsyncResult)
        Dim response As HttpWebResponse = request.EndGetResponse(result)

        Dim sr As New StreamReader(response.GetResponseStream())
        Dim data As String = sr.ReadToEnd()
        sr.Close()

        TextBox1.Invoke(New UpdateTextCallback(AddressOf UpdateText), New Object() {data})
    End Sub

    Private Sub UpdateText(ByVal text As String)
        textBox1.Text = text
    End Sub

End Class


Svara

Sv:CF3.5: Flera trådar

Postades av 2010-05-30 18:04:12 - Thomas Roman

Aha. Jag har löst problemet med Invoke men det där verkar nog smidigare.
Tackar.


Thomas


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 763
27 959
271 761
714
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies