Vb .net 4 Thread-Safe Calls to Win forms controls

poruka: 3
|
čitano: 881
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
Vb .net 4 Thread-Safe Calls to Win forms controls

Da li netko zna zašto ovo ne radi?

 

Private Sub AddRouterToList(ByVal str1 As String, ByVal str2 As String, ByVal str3 As String, ByVal str4 As String, ByVal str5 As String, ByVal str6 As String, ByVal str7 As String)
    If Me.gridRouters.InvokeRequired Then
        Dim d As New AddRouterToListCallBack(AddressOf AddRouterToList)
        Me.Invoke(d, New Object() {str1, str2, str3, str4, str5, str6, str7})
    Else
        Me.gridRouters.Rows.Add(str1, str2, str3, str4, str5, str6, str7)
    End If
End Sub

 

 

studio javlja grešku

Type 'AddRouterToListCallBack' is not defined.

 

 

Imam svoj kod na starom disku koji nije ovdje kod mene (pa nemrem pogledat što sam već napisao) a ovo ovdje gore odgovara primjeru na MSDN-u

Niti primjer sa MSDN-a ne radi kad ga se copy paste-a (istu grešku javlja)

Dolje Matija Gubc
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
RE: Vb .net 4 Thread-Safe Calls to Win forms contr

Vidi, naslov nema veze s greškom koju postaš.

"type/member" is not defined ti javlja ako nigdje nemaš definiciju toga tipa/metode ili funkcije dakle AddRouterToListCall.... nigdje ne postoji. Vjerojatno ti fali neka datoteka.

 

Što se tiće thread safe calls to winforms to je zbog toga što samo onaj thread (stvoren implicitno bez tvoga uplitanja) koji procesira message pump može/smije prčkati po kontrolama/eventima koji generiraju nove windows poruke.  Dakle jednostavno rečeno ako imaš neki background thread i on izvršava dio koda onda taj dio koda ne smije mijenjati winforms kontrole.

Ako pak taj thread ipak mora nešto raditi onda se to može preko Control.Invoke(delegat). Da bi to bilo sve generički postiji i InvokeRequired pa kod može sam ispitati treba li Invoke ili ne.

 

HTH

Na svijetu postoje samo 10 vrsti ljudi: oni koji znaju te oni koje ne znaju binarno
17 godina
offline
RE: Vb .net 4 Thread-Safe Calls to Win forms contr

U naslovu piše što pokušavam napraviti i ne vidim kako to nema veze sa problemom?

Odgovorio si mi nečim očitim. Ako pokušavam napraviti thread safe call, očito je da mi je jasno da se to ne može tek tako.

 

Ako sam postao kod (i link na primjer koji je gotovo identičan) koji, kad se copy paste-a u VS, ne radi (uz grešku koju VS javlja), očekujem nekakvo riješenje a ne da mi napišeš nešto što podrazumjeva kao predznanje da bi uopće došao do koda.

 

Da zatvorimo stvar:

zaboravio sam na

Delegate Sub AddRouterToListCallBack...

 

 

Može se zatvoriti tema

Dolje Matija Gubc
Poruka je uređivana zadnji put uto 27.7.2010 22:22 (franjo tahy).
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice