[ Bojan11 @ 24.02.2006. 11:34 ] @
| Pokusavam napraviti direktno prosljedivanje informacija u listbox, event
datarecieved na serijskom portu..i kad mi ucita javlja mi da Nije dobar
thread listbox-a , i da trebam napraviti cross-thread , mucim se vec cijeli
dan i nikako....ljudi kako se to radi?kod je ovaj
Private Sub Form2(ByVal sender As System.Object, ByVal e As
System.IO.Ports.SerialDataReceivedEventArgs) Handles
SerialPort1.DataReceived
Control.CheckForIllegalCrossThreadCalls = False
Dim strSerialPortData As String = SerialPort1.ReadExisting
ListBox2.Items.Add(Microsoft.VisualBasic.Left(strSerialPortData, 6))
End Sub
Franj sa ovog foruma mi je dao "
Control.CheckForIllegalCrossThreadCalls = False" ,
to radi samo mi podatke(konkretno string) prelomi u dva dijela,dvije brojke
mi budu u jednom redu, a dvije u drugom??
HVALA |
[ Bojan11 @ 24.02.2006. 11:47 ] @
A kada idem prvo ucitavanje, a sa Button-click slanje podataka u listbox on ide!! Kad stavim da ide sve odjednom onda zaj....!!Kako da to rijesim??
[ havramm @ 24.02.2006. 11:50 ] @
[ Bojan11 @ 24.02.2006. 12:01 ] @
Ali ajde ti meni reci , kako da ja ovo primjenim na svoj slučaj, sta da napravim pod Sub SetText.....
Hvala unaprijed, nemoj se cuditi ovo radim prvi put..tako da sam pogubljen!!
Private Sub setTextSafeBtn_Click( _
ByVal sender As Object, _
ByVal e As EventArgs) Handles setTextSafeBtn.Click
Me.demoThread = New Thread( _
New ThreadStart(AddressOf Me.ThreadProcSafe))
Me.demoThread.Start()
End Sub
Private Sub ThreadProcSafe()
Me.SetText("This text was set safely.")
End Sub
Private Sub SetText(ByVal [text] As String)
If Me.textBox1.InvokeRequired Then
Dim d As New SetTextCallback(AddressOf SetText)
Me.Invoke(d, New Object() {[text]})
Else
Me.textBox1.Text = [text]
End If
End Sub
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.